【问题标题】:JavaScript and Google API troublesJavaScript 和 Google API 问题
【发布时间】:2017-07-20 22:11:15
【问题描述】:

我正在尝试从this question 改编一个简单的搜索脚本。但是,我试图确定为什么方法 loadApi 未定义。我也很难追查问题的根源,因为 Google 提供的 JS 是...... 难以阅读

这里是脚本,再一次:

<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>

这是有问题的错误:

【问题讨论】:

  • 这个问题是 2 年前的问题。从那时起,谷歌 API 很可能已经更新,它们会合理地定期更改
  • 答案是错误的。 loadApi() = function() { ... 是语法错误。
  • google 文档有一个perfectly good example of how to do this,只需关注它。
  • @Liam 给定示例的问题是它需要 0auth 才能执行搜索。这很愚蠢,我无法实现需要登录的搜索功能。示例中搜索功能的另一个问题是它不允许搜索单个频道,这是此脚本的要求。
  • @JJJ 我非常,非常是 JavaScript 新手,很抱歉 :)

标签: javascript google-api youtube-api


【解决方案1】:

执行搜索可能不需要身份验证,但您的应用程序仍需要重新注册,并且您至少需要使用 API 密钥。

请注意,我 不是 JS 开发人员,我只是从 documentation 复制了这个示例。有几个显示如何访问public apis

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

注意:据我所知,channels.list 是部分公共部分私有方法。某些参数仅在您通过身份验证时才有效。

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

【讨论】:

    猜你喜欢
    • 2022-01-18
    • 2014-01-14
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多