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> 

这里是有问题的错误:

+1

这个问题是从2年前。从那时起,google API可能已经更新了,它们的改变很合理 – Liam

+0

答案是错的。 'loadApi()= function(){...'是一个语法错误。 – JJJ

+1

谷歌文档有一个[如何做到这一点的完美的例子](https://developers.google.com/youtube/v3/code_samples/javascript#search_by_keyword)就跟着它。 – Liam

它可能不需要身份验证大跳搜索,但您的应用程序仍然需要要重新注册,您至少需要使用API​​密钥。

请注意我一个不是一个JS dev我刚从documentation复制这个例子。有几个显示如何访问public apis

gapi.client.init({ 
'apiKey': 'YOUR_API_KEY', 
    ... 
}).then(...) 

注:channels.list是部分公共部分私有方法,据我所看到的。某些参数只有在您通过身份验证后才有效。

mine boolean 此参数只能在正确授权的请求中使用。将此参数的值设置为true以指示API仅返回经过身份验证的用户拥有的通道。