2017-09-13 47 views
1

我正在考虑批量处理Google Drive的请求。 Google Drive API提供了一个如何在Nodejs中批量请求的例子。然而,它使用异步和查找方法告诉我,它一次执行一个,我不清楚它是如何批量我的请求。如何在Nodejs中批量处理Google驱动器调用

Batching Google API calls可用。代码示例如下。

var fileId = '1sTWaJ_j7PkjzaBWtNc3IzovK5hQf21FbOw9yLeeLPNQ'; 
var permissions = [ 
    { 
    'type': 'user', 
    'role': 'writer', 
    'emailAddress': '[email protected]' 
    }, { 
    'type': 'domain', 
    'role': 'writer', 
    'domain': 'example.com' 
    } 
]; 
// Using the NPM module 'async' 
async.eachSeries(permissions, function (permission, permissionCallback) { 
    drive.permissions.create({ 
    resource: permission, 
    fileId: fileId, 
    fields: 'id', 
    }, function (err, res) { 
    if (err) { 
     // Handle error... 
     console.error(err); 
     permissionCallback(err); 
    } else { 
     console.log('Permission ID: ', res.id) 
     permissionCallback(); 
    } 
    }); 
}, function (err) { 
    if (err) { 
    // Handle error 
    console.error(err); 
    } else { 
    // All permissions inserted 
    } 
}); 

回答

0

TL; DR - 你不能。

看看他们的文档和其他示例,其他每种语言都有一个“批处理对象”,用于添加个别请求。在他们的节点示例中没有这样的。他们的Javascript client有一个.newBatch()呼叫。

检出他们的NodeJS Migration Guide(它也从v2 api链接)。相关报价:

批量请求在1.0之前是实验性的。由于不受欢迎和不稳定,我们已经取消了对1.0批量请求的支持。

附注说明,批量处理似乎只会为您带来带宽 - Google API仍会将您的配额与您的配额分开计数。

相关问题