NodeJS将视频插入Youtube播放列表

时间:2017-10-27 19:17:32

标签: node.js youtube youtube-api

我使用NodeJS,我想在我的脚本中插入一个功能,将视频插入特定的播放列表。

我在互联网上看到很多,我知道Youtube api需要OAuth才能工作,所以,有一些HTML页面/回调来获取令牌。

我是否遗漏了某些内容,或者在没有任何用户互动的情况下无法在脚本中处理此令牌?

这是一个简单的例子吗?我尝试使用youtube-api npm:

var express = require('express');
var router = express.Router(),
   Youtube = require("youtube-api"),
   fs = require('fs'),

router.get('/insert', function(req, res, next) {
    Youtube.authenticate({
        type: "oauth"
      , token: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxZ9F0sVpqEXh"
    });

    var req = Youtube.videos.insert({
        "resource": {
            // Video title and description
            "snippet": {
                "title": "Test",
                "description": "Test video upload via YouTube API"
            },
            "status": {
                "privacyStatus": "private"
            }
        }, 
        "part": "snippet,status,id", 
        "media": {
            "body": fs.createReadStream('./test.mp4')
        }
    }, function (err, data) {
        console.log(err);

        // insert to playlist
        Youtube.playlistItems.insert({
            "resource": {
                "snippet": {
                    "playlistId": "xxxxxxxxxxxxxxxxxxxgvjIu",
                    "resourceId": {
                      "kind": "youtube#video",
                      "videoId": data.id // ???
                    }
                },
                "status": {
                    "privacyStatus": "private"
                }
            }

        }, function (err, data) {
            if (err) {
                return console.log(err); 
            }
        });         
    });

    res.json();
});

我收到错误401:

  

消息:'需要登录'

编辑1

开始的好视频:https://www.youtube.com/watch?v=hfWe1gPCnzc

我现在有了一个令牌,但不知道怎么没有限制没有这个...现在我改变了:

Youtube.authenticate({
    type: "oauth"
  , token: "token_from_google"
});

我收到了错误:

  

消息:'由于您已超出请求,因此无法完成请求   你的quota。' },
  代码:403,消息:'请求无法完成,因为您   超出了你的配额。

我无法理解......?

1 个答案:

答案 0 :(得分:0)

您已达到分配的限制(quota)。请参阅Core API errors以供参考。

  

YouTube Data API使用配额来确保开发者使用   按预期服务,不要创建不公平的应用程序   降低服务质量或限制他人访问。所有API请求,   包括无效请求,至少产生一点配额成本。您   可以在Developers Console中找到您的应用程序可用的配额。

     

启用YouTube Data API的项目具有默认配额   每天分配100万单位,足够的金额   绝大多数API用户。默认配额,即   可能会有所变化,帮助我们优化配额分配并扩大我们的规模   基础设施对我们的API用户更有意义。您   可以在Google的API的Usage标签上查看您的配额使用情况   开发人员控制台。

     

注意:如果达到配额限制,您可以申请额外配额   在开发人员控制台的Quotas标签上。