JavaScript和Google API的麻烦
问题描述:
我试图从this question改编一个简单的搜索脚本。但是,我试图确定为什么方法loadApi
未定义。我也无法追查问题的根源,因为Google提供的JS是... 难以读懂。JavaScript和Google API的麻烦
这里是脚本,再次声明:
<script>
googleApiClientReady=function() {
loadApi() = function() {
return new Promise(function(resolve,reject){
gapi.client.setApiKey('<redacted>');
gapi.client.load('youtube', 'v3', resolve);
});
};
loadApi().then(function() {
var q = 'pink floyd';
var request = gapi.client.youtube.channels.list({
part: 'statistics',
forUsername : 'GameSprout'
});
request.execute(function(response) {
var str = JSON.stringify(response.result);
alert(str);
});
});
};
</script>
这里是有问题的错误:
答
它可能不需要身份验证大跳搜索,但您的应用程序仍然需要要重新注册,您至少需要使用API密钥。
请注意我一个不是一个JS dev我刚从documentation复制这个例子。有几个显示如何访问public apis。
gapi.client.init({
'apiKey': 'YOUR_API_KEY',
...
}).then(...)
注:channels.list是部分公共部分私有方法,据我所看到的。某些参数只有在您通过身份验证后才有效。
mine boolean 此参数只能在正确授权的请求中使用。将此参数的值设置为true以指示API仅返回经过身份验证的用户拥有的通道。
这个问题是从2年前。从那时起,google API可能已经更新了,它们的改变很合理 – Liam
答案是错的。 'loadApi()= function(){...'是一个语法错误。 – JJJ
谷歌文档有一个[如何做到这一点的完美的例子](https://developers.google.com/youtube/v3/code_samples/javascript#search_by_keyword)就跟着它。 – Liam