我有一个对文件夹'x'中文件的gap(v2)批处理请求。此文件夹可能有分页的内容列表。
我尝试过递归调用files.list api(如gap v2文档中所示),pageToken值设置为nextPageToken,但返回"Invalid Token"。
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个。我该怎么做?
文档指出,以下可能是您的"无效令牌"错误的原因:
Google Drive应用程序应考虑API返回HTTP 401或调用驱动器API时的HTTP 403响应。这些错误可能指示以下任一项:
- 代币到期
- 令牌吊销。这将导致访问令牌和刷新令牌都停止工作
- 令牌未被授权用于所需的作用域
- 未使用OAuth 2.0协议正确授权请求
令牌到期可以通过刷新凭据来处理。如果调用失败,出现"无效凭据"错误,问题可能是用户已吊销访问权限。对于已吊销的访问权限和所有问题除了令牌过期之外,最好的补救措施是重定向用户通过OAuth对话框重新授予访问权限。
然后,您可以查看此链接以了解Files: list
方法的实现,从而得到相应的指导。
为了更多地享受Good Drive API的好处,您可以迁移到Drive API v3。
驱动器API v3和v2之间的差异主要是字段名称和删除重复功能。