Google drive api NodeJS-googleapis批处理请求问题

Google drive api NodeJS-googleapis批处理请求问题,google-drive-api,google-api-nodejs-client,Google Drive Api,Google Api Nodejs Client,我试图在NodeJS-googleapis库()中使用(实验性的)newBatchRequest方法,但是结果都返回了来自Google的401无效凭证错误。当发送单个请求而不使用newBatchRequest时,使用完全相同的身份验证客户端(相同的凭据)的完全相同的调用将按预期工作 以下是批处理请求代码: var c = client.newBatchRequest() async.each(files, function(fileid, cb) { c.add(client.drive.f

我试图在NodeJS-googleapis库()中使用(实验性的)newBatchRequest方法,但是结果都返回了来自Google的401无效凭证错误。当发送单个请求而不使用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...]
你知道这里会发生什么吗


谢谢

您的访问令牌是否过期?对于单个请求,客户端会自动刷新它,但不会对批处理请求执行任何操作。嗯,谢谢您提供的信息。我该如何刷新它呢?好吧,我找到了刷新令牌的方法,看起来我不再收到无效凭据错误。但是,我现在得到“未找到文件”错误。我查看了导致错误的文件ID,我可以在Google Drive的浏览器上访问它们,因此文件确实存在并且可以访问。知道是什么导致文件无法找到吗?谢谢你的回复!