我目前正在编写代码,使用我从a previous question I had收到的nodejs服务器以编程方式创建youtube播放列表,并使用下面的工作代码:
{{1}}
我现在转到我的项目的一部分,我需要一种方法来创建它后添加视频到这个播放列表。 The sample code that I am following along with只用JS编写,并没有详细说明nodejs,因此我坚持如何用nodejs实现这个实现。我怎么能创建这样的方法(从上面链接的JS实现中获得):
{{1}}
在NodeJS语言中使用我已经开始的实现?
答案 0 :(得分:1)
我现在明白你的意思。如果你想在你的播放列表上添加一个视频,那么你可以在Node中使用它来做到这一点。
youtube.playlistItems.insert({
part: 'id,snippet',
resource: {
snippet: {
playlistId:"YOUR_PLAYLIST_ID",
resourceId:{
videoId:"THE_VIDEO_ID_THAT_YOU_WANT_TO_ADD",
kind:"youtube#video"
}
}
}
}, function (err, data, response) {
if (err) {
lien.end('Error: ' + err);
}
else if (data) {
lien.end(data);
}
if (response) {
console.log('Status code: ' + response.statusCode);
}
});
答案 1 :(得分:0)
如果要将结果呈现为HTML,首先需要使用像(jade或pug)这样的视图引擎,然后创建一个模板,最后将其与响应一起呈现。
根据您的示例,您可以这样做:
首先创建一个模板(我正在使用Pug)将其保存为results.pug
html
head
title= title
body
h1= title
p=description
img(src=thumbnails.medium.url)
然后更新以下代码:
var google = require('googleapis');
var Lien = require("lien");
var OAuth2 = google.auth.OAuth2;
var pug = require('pug')
var server = new Lien({
host: "localhost"
, port: 5000,
views:{
path:__dirname,
name:'pug'
}
});
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);
lien.render('results',data.snippet)
}
if (response) {
console.log('Status code: ' + response.statusCode);
}
});
});
});
我在您的代码上更新的内容是:
var server = new Lien({
host: "localhost"
, port: 5000,
views:{
path:__dirname,
name:'pug'
}
});
和
//lien.end(data);
lien.render('results',data.snippet)