【问题标题】:How do I create a youtube playlist with the Google API node client?如何使用 Google API 节点客户端创建 youtube 播放列表?
【发布时间】:2014-01-16 21:37:20
【问题描述】:

使用 Google 的 google-api-nodejs-client(官方 google 节点库),我在几个月前运行了这段代码。我把它放在一边了。

googleapis.discover('youtube', 'v3').execute(function (err, client) {
    var request = client.youtube.playlists.insert({
         part: 'snippet,status',
         resource: {
             snippet: {
                 title: "hello",
                 description: "description"
             },
             status: {
                 privacyStatus: "private"
             }
          }
     });
    request.withAuthClient(oauth2Client).execute(function (err, res) {...

我已经重启了项目并通过 npm 下载了最新版本的库,现在当我运行上面的代码时,我系统地得到了以下错误对象:

Object
     code: 400
     errors: Array[1]
         0: Object
             domain: "youtube.playlist"
             message: "Must specify playlist title."
             reason: "playlistTitleRequired"
         length: 1
              length: 1
     message: "Must specify playlist title."

根据文档和示例,这似乎是正确的google sample code

我已经浏览了库代码,似乎请求没有正确构建,但在将其报告为可能的错误之前,我想问问 hive mind。

最近有人成功使用过这个库吗?谢谢。

【问题讨论】:

    标签: node.js youtube google-api-nodejs-client


    【解决方案1】:

    对于插入操作,part 的值应为snippet 和/或status

    part: 'snippet,status',
    

    更多详情请查看documentation

    【讨论】:

    • 该变量是在代码前面设置的,我更正了我的问题中的代码。
    【解决方案2】:

    node 库似乎没有遵循 api 文档中的约定。当调用具有请求参数和body的api时,参数作为调用的第一个参数传入一个对象,body作为一个单独的对象作为对象的第二个参数。

    在我的情况下,请求需要这样构建:

    var request = client.youtube.playlists.insert(
        { part: 'snippet,status'},
        {
          snippet: {
              title: "hello",
              description: "description"
          },
          status: {
              privacyStatus: "private"
          }
        }
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-23
      • 2011-07-04
      • 2017-07-13
      • 2020-01-23
      • 2018-01-15
      • 2015-11-16
      相关资源
      最近更新 更多