0

NodeJS googleapis ライブラリ ( https://github.com/google/google-api-nodejs-client ) で (実験的な) newBatchRequest メソッドを使用しようとしていますが、返された結果はすべて Google から 401 Invalid Credentials エラーを返します。newBatchRequest を使用せずに単一のリクエストを送信すると、まったく同じ認証クライアント (同じ資格情報) を使用したまったく同じ呼び出しが期待どおりに機能します。

バッチ リクエストのコードは次のとおりです。

var c = client.newBatchRequest()
async.each(files, function(fileid, cb) {
  c.add(client.drive.files.get({fileId:fileid}));
  cb();
},
function(err) {
  console.log('client is')
  console.log(oauth2Client)
  c.withAuthClient(oauth2Client).execute(function(err, results) {
    console.log(err)
    console.log(results);
  })
})

これにより、次のエラーでいっぱいの配列が console.log に生成されます。

{ errors: [ [Object] ],
    code: 401,
    message: 'Invalid Credentials' }

batchRequest を使用せずに、まったく同じ呼び出し (drive.files.get) をまったく同じ withAuthClient(oauth2Client) で実行すると、次のコードは期待どおりに動作します。以下はエラーになりません。渡される oauth2Client 変数はまったく同じで、同じスコープ内にあることに注意してください。

client.drive.files.get({fileId:fid})
    .withAuthClient(oauth2Client)
    .execute(function(err, results){
       [...etc...]

ここで何が起こっているのかについてのアイデアはありますか?

ありがとう!

4

0 に答える 0