我正在将视频上传到 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/