Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Node.js使用流将视频上载到Youtube_Javascript_Node.js_Youtube_Google Api_Youtube Api - Fatal编程技术网

Javascript 使用Node.js使用流将视频上载到Youtube

Javascript 使用Node.js使用流将视频上载到Youtube,javascript,node.js,youtube,google-api,youtube-api,Javascript,Node.js,Youtube,Google Api,Youtube Api,我可以轻松地将视频更新到Youtube: var googleapis = require('googleapis'); googleapis.discover('youtube', 'v3').execute(function(err, client) { var metadata = { snippet: { title:'title', description: 'description'}, status: { privacyStatus: 'private' }

我可以轻松地将视频更新到Youtube:

var googleapis = require('googleapis');

googleapis.discover('youtube', 'v3').execute(function(err, client) {

var metadata = {
    snippet: { title:'title', description: 'description'}, 
    status: { privacyStatus: 'private' }
};

client
    .youtube.videos.insert({ part: 'snippet,status'}, metadata)
    .withMedia('video/mp4', fs.readFileSync('user.flv'))
    .withAuthClient(auth)
    .execute(function(err, result) {
        if (err) console.log(err);
        else console.log(JSON.stringify(result, null, '  '));
    });
});
问题是,对于
fs.readFileSync
的大文件来说是非常不实用的

显然,提供的示例适用于Google Drive:

var fs = require('fs');
var drive = google.drive({ version: 'v2', auth: oauth2Client });

drive.files.insert({
  resource: {
    title: 'testimage.png',
    mimeType: 'image/png'
  },
  media: {
    mimeType: 'image/png',
    body: fs.createReadStream('awesome.png') // read streams are awesome!    
  }
}, callback);

如何使用流上传到Youtube?

在我的情况下,我可以使用此模块上传大文件(>2GB)


看看这个:我想要的是使用官方模块googleapis而不是直接调用URL的东西,我不确定我是否理解。这是一个解决方案吗?
var youtube = require('googleapis').youtube('v3');

 youtube.videos.insert({
     'auth': auth,
     'resource': resource,
    'part': part,
     'media': fs.createReadStream(videoFilePath)
}, callback);