【问题标题】:Youtube data API with NodeJS issue带有 NodeJS 问题的 Youtube 数据 API
【发布时间】:2018-06-30 08:16:44
【问题描述】:

我刚刚从 Youtube 文档中复制了一个简单的示例,但它失败了。 我想在我的项目中实现 Youtube 数据 API。

点击这些链接:

Youtube data api quickstart documentation

Youtube data api quickstart github repo

  1. 我在 Google Developers Console 中创建了一个新项目
  2. 添加了 OAuth 凭据
  3. 下载了我的"client_secret.json" 文件
  4. 已将quickstart project 复制到我的工作文件夹中

但是当我运行这个脚本时会发生错误:

~/workspace/youtube/quickstart $ node test-1.js

/home/ubuntu/workspace/youtube/quickstart/test-1.js:31
   var clientSecret = credentials.installed.client_secret;
                                      ^

TypeError: Cannot read property 'client_secret' of undefined
   at authorize (/home/ubuntu/workspace/youtube/quickstart/test-1.js:31:43)
   at processClientSecrets (/home/ubuntu/workspace/youtube/quickstart/test-1.js:20:3)
   at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:446:3)

我可能在哪里犯了错误以及如何解决?

【问题讨论】:

  • 尝试调试代码。你可以弄清楚发生了什么。干杯

标签: javascript node.js api youtube


【解决方案1】:

问题在于 client_secret json 文件。尝试使用一些在线 json 解析器解析 json。由于解析失败或无法在指定位置找到 json 文件,因此 credentials 变量为 undefined。 Js引擎抛出错误,因为它无法读取未定义的client_secret

【讨论】:

    【解决方案2】:

    请检查您的 json 文件。如果您的 json 文件以 {web:{client... 开头,则您已选择为 Web 应用程序创建凭据,除非您将代码中的“已安装”更改为“网络”,否则此示例将不起作用。

    如果您选择为计算机应用程序创建凭据,该示例将完美运行。然后它会生成一个带有“已安装”的json文件。

    【讨论】:

      猜你喜欢
      • 2016-02-27
      • 1970-01-01
      • 2015-07-13
      • 2020-06-27
      • 2020-12-17
      • 1970-01-01
      • 1970-01-01
      • 2012-08-25
      • 1970-01-01
      相关资源
      最近更新 更多