【发布时间】:2018-03-10 14:41:10
【问题描述】:
我目前正在编写代码以使用我从a previous question I had 收到的 nodejs 服务器以编程方式创建一个 youtube 播放列表,并使用下面的工作代码来执行此操作:
var google = require('googleapis');
var Lien = require("lien");
var OAuth2 = google.auth.OAuth2;
var server = new Lien({
host: "localhost"
, port: 5000
});
var oauth2Client = new OAuth2(
'YOUR_CLIENT_ID',
'YOUR_CLIENT_SECRET',
'http://localhost:5000/oauthcallback'
);
var scopes = [
'https://www.googleapis.com/auth/youtube'
];
var youtube = google.youtube({
version: 'v3',
auth: oauth2Client
});
server.addPage("/", lien => {
var url = oauth2Client.generateAuthUrl({
access_type: "offline",
scope: scopes
});
lien.end("<a href='"+url+"'>Authenticate yourself</a>");
})
server.addPage("/oauthcallback", lien => {
console.log("Code obtained: " + lien.query.code);
oauth2Client.getToken(lien.query.code, (err, tokens) => {
if(err){
return console.log(err);
}
oauth2Client.setCredentials(tokens);
youtube.playlists.insert({
part: 'id,snippet',
resource: {
snippet: {
title:"Test",
description:"Description",
}
}
}, function (err, data, response) {
if (err) {
lien.end('Error: ' + err);
}
else if (data) {
lien.end(data);
}
if (response) {
console.log('Status code: ' + response.statusCode);
}
});
});
});
我现在正在继续我的项目部分,我需要一种方法在创建此播放列表后将视频添加到该播放列表中。 The sample code that I am following along with 仅用 JS 编写,并没有详细说明 nodejs,因此我被困在如何使用 nodejs 实现此实现上。我怎样才能创建这样的方法(从上面链接的 JS 实现中获得):
function addToPlaylist(id, startPos, endPos) {
var details = {
videoId: id,
kind: 'youtube#video'
}
if (startPos != undefined) {
details['startAt'] = startPos;
}
if (endPos != undefined) {
details['endAt'] = endPos;
}
var request = gapi.client.youtube.playlistItems.insert({
part: 'snippet',
resource: {
snippet: {
playlistId: playlistId,
resourceId: details
}
}
});
request.execute(function(response) {
$('#status').html('<pre>' + JSON.stringify(response.result) + '</pre>');
});
}
在 NodeJS 语言中使用我已经开始的实现?
【问题讨论】:
-
你的代码成功了吗?我不知道如何在没有 OAuth 令牌生成的情况下使用 Youtube api。谢谢。
标签: javascript node.js youtube youtube-api youtube-data-api