带有NodeJS问题的Youtube数据API

时间:2018-01-21 16:32:50

标签: javascript node.js api youtube

我刚从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复制到我的工作文件夹
  5. 但是当我运行此脚本时会发生错误:

    ~/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)
    

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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