node.js - playlistItems.insert 在 Node.js googleapi youtube 中失败

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

我正在将视频上传到 YouTube,然后尝试将其添加到播放列表。播放列表插入以一种奇怪的方式失败。 这是我的代码:

var options = {
                    'part'  : 'snippet',
                    'snippet'   : {
                        'playlistId'    : playlistId,
                        'resourceId'    : {
                            'kind'      : 'youtube#video',
                            'videoId'   : videoId
                        }
                    },
                    status  : {
                        privacyStatus   : 'unlisted'
                    }
                };

            console.log('options : ' + JSON.stringify(options));

            youtube.playlistItems.insert(options, function(listErr, listResponse){

                console.log(JSON.stringify(listErr));
                console.log(JSON.stringify(listResponse));

            });

我总是得到完全相同的回复:

{"errors":[{"domain":"youtube.playlistItem","reason":"playlistIdRequired","message":"Playlist id not specified."}],"code":400,"message":"Playlist id not specified."}

有人知道我做错了什么吗?任何帮助都感激不尽。我正在使用 googleapi Node.js sdk。

最佳答案

我遇到了类似的问题,检查了源代码并意识到 API 调用的主体应该位于 options.resource 属性下。因此您的选项对象应如下所示:

var options = {
    "part"  : "snippet",
    "resource" : {
        "snippet" : {
            "playlistId" : playlistId,
            "resourceId" : {
                "kind" : "youtube#video",
                "videoId" : videoId
                }
            }
        }
    }

另请注意,我已将对象更改为使用双引号,因为 options.resource 预计是有效的 JSON。我还删除了 status 属性,因为它未在 API 引用页上列为参数 - https://developers.google.com/youtube/v3/docs/playlistItems/insert

关于node.js - playlistItems.insert 在 Node.js googleapi youtube 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25815997/

相关文章:

javascript - 是否有理由不在 while block 声明中分配变量?

javascript - GraphQL 突变仅返回一个结果

google-api - API 访问 Google Home 购物 list (shoppinglist.google.com)?

python - 如何与人 API 创建新联系人

javascript - 如何让 Node 在layout.ejs上拾取?

android - Android YouTube评论API

youtube - 具有播放列表的YouTube channel 视频播放器

javascript - 无法通过 REST 和 AngularJS 通过 Java Web 应用程序在 YouTube 服务器上上传视频

ios - 在 UITableViewCell 内显示 YouTube 视频缩略图和标题

node.js - NodeJs Node 观察者的继承问题