NodeJS googleapis batchRequest问题

时间:2014-01-25 21:57:26

标签: google-drive-api google-api-nodejs-client

我正在尝试在NodeJS googleapis库(https://github.com/google/google-api-nodejs-client)中使用(实验性)newBatchRequest方法,但返回的结果都会从Google返回401 Invalid Credentials错误。使用完全相同的auth客户端(相同凭据)完全相同的调用在不使用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并运行与完全相同的withAuthClient(oauth2Client)完全相同的调用(drive.files.get),以下代码按预期运行。以下不会产生错误。请注意,传入的oauth2Client变量完全相同,并且在同一范围内。

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

关于可能会发生什么的任何想法?

谢谢!

0 个答案:

没有答案