我从Youtube Data API上传的视频在哪里?

时间:2017-06-28 03:30:27

标签: javascript node.js video youtube

我正在按照使用Node.Js(here is the link)上传Youtube视频的教程进行操作,效果很好。唯一的问题是,在完成脚本后,我无法找到我上传的视频。这是我正在使用的脚本(上传的视频名为 video.mp4 ):

const Youtube = require("youtube-api");
const fs = require("fs");
const readJson = require('r-json');
const Lien = require("lien");
const Logger = require("bug-killer");
const opn = require("opn");
const prettyBytes = require("pretty-bytes");

const CREDENTIALS = readJson(`${__dirname}/credentials.json`);

// initialize Lien server
let server = new Lien({
    host: "localhost",
    port: 3000
});

let oauth = Youtube.authenticate({
    type: "oauth",
    client_id: CREDENTIALS.web.client_id,
    client_secret: CREDENTIALS.web.client_secret,
    redirect_url: CREDENTIALS.web.redirect_uris[0]
});

opn(oauth.generateAuthUrl({
    access_type: "offline",
    scope: ["https://www.googleapis.com/auth/youtube.upload"]
}));

server.addPage("/response", lien => {
    Logger.log("Trying to get the token using the following code: " + lien.query.code);
    oauth.getToken(lien.query.code, (err, tokens) =>{

        if (err){
            lien.lien(err, 400);
            return Logger.log(err);
        }
        Logger.log("Got the tokens");
        oauth.setCredentials(tokens);
        lien.end("The video is being uploaded.");
        var req = Youtube.videos.insert({
            resource:{
                snippet:{
                    title: "Testing Youtube API",
                    description: "testing the youtubes"
                },
                status: {privacyStatus: "private"}
            },
            part: "snippet, status",
            media: {
                body: fs.createReadStream("video.mp4")
            }
        },(err, data) => {
            console.log("Done." + data);
            process.exit();
        });
        setInterval(function(){
            Logger.log(`${prettyBytes(req.req.connection._bytesDispatched)} bytes uploaded.`);
        }, 250);
    });
});

我通过console.log获得正确的输出,告诉我视频已上传:

info  Trying to get the token using the following code: XXXXXXXXXX
info  Got the tokens
info  263 kB bytes uploaded.
info  384 kB bytes uploaded.
info  384 kB bytes uploaded.
info  384 kB bytes uploaded.
Done.

但在登录我的YouTube帐户后,我在那里看不到视频!我在Google信息中心设置了两个项目:enter image description here

1 个答案:

答案 0 :(得分:3)

希望这可以帮助下一代使用Node.js构建Youtube Data API连接的开发人员节省几个小时...假设您也是像我这样的Youtube新手。

这让我很沮丧,但最终有些视频开始出现在我的YouTube频道上。我使用的视频是我从this website下载的示例视频,这是问题的一部分。我每次上传视频时都会因违反服务条款而被立即删除,可能是出于版权或凭据原因。

但是,您可以点击视频管理器查看实际实施是否有效。视频本身从未进入我上传的视频列表,但它们确实显示在视频管理器视图中:enter image description here

This post也描述了类似的问题。

所以一些经验法则: (1)根据详细信息找到您自己的视频和标签,以避免上传被删除以获取服务条款 (2)检查您的视频管理器,以获得更详细的视频上传视图,只需"上传"标签

修改:文章的作者也回复了我的评论,并提出了一个很好的建议来查看我的Creator Studio