2017-09-13 4 views
1

Googleドライブのリクエストをバッチでバッチ処理することを検討しています。 Google Drive APIは、Nodejでリクエストをバッチする方法の例を示しています。しかし、それは非同期を使用し、メソッドを参照すると、一度に1つずつ実行され、私の要求をどのようにバッチ処理できるかは不明です。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は依然として各リクエストをクォータとは別にカウントします。

関連する問題