javascript - 将视频添加到 Youtube 播放列表 NodeJS

标签 javascript node.js youtube youtube-api youtube-data-api

我目前正在使用从 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 语言中使用我已经开始的实现?

最佳答案

我现在明白你的意思了。如果你想在播放列表中添加视频,那么你可以使用它在 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);
            }
        });

关于javascript - 将视频添加到 Youtube 播放列表 NodeJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46476169/

相关文章:

css - 使用 css 'column-count' 时嵌入 youtube 的错误

用于 js 计算器的具有多个运算符的字符串的 Javascript 总数学

javascript - .match 和捕获组如何协同工作?

javascript - CSS:隐藏滚动条。

node.js - 从 Firestore 快照回调中检索数据以进行 Collection

iphone - 在 objective-c 上使用youtube API获取元素

javascript - 在最后一帧嵌入 youtube 视频

javascript - 如何从 ReactJS 中的另一个组件触发页面刷新?

node.js - Webpack 未在 Linux 上安装

node.js - 警告 : N-API is an experimental feature and could change at any time