Home Articles

NodeJS将视频插入Youtube播放列表

Asked
Viewed 289 times
1

我使用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:

消息:'需要登录'

EDIT 1

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

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

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

我收到了错误:

消息:'由于您已超出配额,因此无法完成请求 . ' }],代码:403,消息:'由于您已超出配额,因此无法完成请求 .

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

1 Answer

  • 0

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

    YouTube Data API使用配额来确保开发人员按预期使用该服务,并且不会创建不公平地降低服务质量或限制其他人访问的应用程序 . 所有API请求(包括无效请求)都会产生至少一个点的配额成本 . 您可以在Developers Console中找到应用程序可用的配额 . 启用YouTube Data API的项目默认配额分配为每天100万个单位,这个数量足以支付绝大多数API用户 . 默认配额可能会发生变化,这有助于我们优化配额分配,并以对API用户更有意义的方式扩展我们的基础架构 . 您可以在Google Developer's Console中的API的“使用情况”标签上查看配额使用情况 . 注意:如果达到配额限制,则可以在开发人员控制台的“配额”选项卡上请求其他配额 .

Related