分页的files.list如何与批处理结合?

时间:2019-01-14 09:27:25

标签: google-drive-api google-apis-explorer

我对文件夹“ x”中的文件有一个gapi(v2)批处理请求。此文件夹可能具有分页的内容列表。

我尝试了将pageToken值设置为nextPageToken递归调用files.list api(如gapi v2文档中所示),但返回“无效令牌”。

var batch = gapi.client.newBatch();
var request = gapi.client.drive.files.list();
batch.add(request, {'id': 'mySearch');

batch.then(handleResponse);

function handleResponse(resp) {
    // gets the first set of 100 files fine
    console.log(resp.result['mySearch'].result.items); // prints array of 100

    // handle nextPageToken here <- this is what I want to do
}

我需要文件夹“ x”中所有项目(例如435个)的数组。我该怎么办?

1 个答案:

答案 0 :(得分:0)

文档指出,以下是导致“ Invalid Token”错误的可能原因:

  

Google云端硬盘应用应说明返回HTTP 401的API或   调用Drive API时的HTTP 403响应。这些错误可能   指示以下任何一项:

     
      
  • 令牌到期。
  •   
  • 令牌吊销。这将导致访问令牌和刷新令牌都停止工作。
  •   
  • 令牌未获得所需范围的授权。
  •   
  • 未使用OAuth 2.0协议正确授权请求。
  •   
     

令牌过期可以通过刷新凭证来处理。如果说   呼叫失败,并显示“无效凭据”错误,可能是该问题   用户已撤消访问权限。对于已撤消的访问权限和所有问题   除了令牌到期外,最好的补救方法是重定向用户   通过OAuth对话框重新授予访问权限。

然后,您可以签出this link来实现Files: list方法的实现,以便对此进行相应的指导。

要享受Good Drive API的更多好处,您可以migrate升级到Drive API v3。

  

Drive API v3和v2之间的差异主要是对   字段名称和删除重复功能。