Youtube nodejs API进程响应

时间:2018-02-21 15:28:10

标签: node.js google-api youtube-api youtube-data-api google-api-nodejs-client

我已设法通过google nodejs API将视频上传到YouTube。但我没有找到一种方法来获取已上传的视频的网址。当我记录我得到的数据时,它似乎是

{ status: 200,
  statusText: 'OK', 
  headers:  
   { 'x-guploader-uploadid': 'AEnB2UqicLz-FhD6KLtuvX_sZYeYQWuXoTM4FFusI6yCSGGlIdxKu3-EIneHhG04CYPqum1Uz8ISVmwIlzZqHrBJ2w-wOmbb6t5hEqOUrPnfRxirEd2tHfM',
 etag: '"_gJQceDMxJ8gP-8T2HLXUoURK8c/-WggxUHM10yHZDXznWuNSxlnSYU"',
 vary: 'Origin, X-Origin',
 'x-goog-correlation-id': 'zaYeqX5ngEo',
 'content-type': 'application/json; charset=UTF-8',
 'cache-control': 'no-cache, no-store, max-age=0, must-revalidate',
 pragma: 'no-cache',
 expires: 'Mon, 01 Jan 1990 00:00:00 GMT',
 date: 'Wed, 21 Feb 2018 15:19:39 GMT',
 'content-length': '975',
 server: 'UploadServer',
 'alt-svc': 'hq=":443"; ma=2592000; quic=51303431; quic=51303339; quic=51303338; quic=51303337; quic=51303335,quic=":443"; ma=2592000; v="41,39,38,37,35"',
 connection: 'close' },
  config: 
   { adapter: [Function: httpAdapter],
     transformRequest: { '0': [Function: transformRequest] },
     transformResponse: { '0': [Function: transformResponse] },
     timeout: 0,
     xsrfCookieName: 'XSRF-TOKEN', 

无法查看服务器中的完整日志

上传视频的代码是

              var yt = google.youtube('v3');
              yt.videos.insert({
                part: 'status,snippet',
                resource: {
                    snippet: {
                        title: "title",
                        description: "description"
                    },
                    status: { 
                        privacyStatus: 'public'
                    }
                },
                media: {
                    body: fs.createReadStream(file)
                }
            }, function(error, data){
                console.log(util.inspect(data, false, null));
                console.log(error);
                if(error){


                } else {

                }
              });

如何获取上传的视频网址?

2 个答案:

答案 0 :(得分:0)

这是按预期工作的。 browser compatibility中没有显示视频网址。使用Resource representation时,没有提及成功上传后会提供视频链接。

但是,您使用JSON响应中的视频ID,并将其与https://www.youtube.com/watch?v= URL连接起来:

https://www.youtube.com/watch?v= + videoID

然后你有视频链接。

答案 1 :(得分:0)

得到了解决方案。在云功能中,视频对象存在于响应的数据键中。视频ID将为response.data.id