【问题标题】:get programmatically notified when processing is over处理结束时以编程方式通知
【发布时间】:2016-06-08 15:05:51
【问题描述】:

将视频上传到 YouTube 时,生成的视频链接会立即可用,但视频尚未准备好播放,因为 Youtube 正在处理它。如何在处理完成后以编程方式通知?我正在使用 node.js googleapis。

【问题讨论】:

    标签: youtube google-api youtube-api


    【解决方案1】:

    /youtube/videos/list提供了查询视频上传状态的API。

    var videoId = 'aBcdEfjhkLm'
    
    const Youtube = require("youtube-api"), fs = require("fs"),
        readJson = require("r-json"), Lien = require("lien"),
        Logger = require("bug-killer"), opn = require("opn"),
        prettyBytes = require("pretty-bytes");
    
    const CREDENTIALS = readJson(`${__dirname}/credentials.json`);
    let server = new Lien({ host: "localhost" , port: 5000 });
    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"]
    }));
    
    server.addPage("/oauth2callback", lien => {
        Logger.log("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(
            '<script>window.close()</script>'
    
            );
            var req = Youtube.videos.list({
                id: 'fEJc2CwddgU',
                part: "status",
            },
            (err, data) => {
                if (err) {
                    console.log('err:', err)
                    process.exit()
                }
                var s = data.items[0].status.uploadStatus
                if (s == 'uploaded') console.log('Video is being processed.')
                if (s == 'processed') console.log('Video processing completed.')
                process.exit()
            });
        });
    });
    

    【讨论】:

      猜你喜欢
      • 2014-01-24
      • 2012-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多