我刚刚开始使用Drive API调用,而我正在尝试列出我的文件。
到目前为止,我的功能看起来像这样:
var retrieveAllFiles = function () {
var retrievePageOfFiles = function(request, result) {
request.execute(function(resp) {
console.log(resp);
result = result.concat(resp.items);
var nextPageToken = resp.nextPageToken;
console.log("nextPageToken ="+nextPageToken);
if (nextPageToken) {
request = gapi.client.drive.files.list({'pageToken': nextPageToken});
retrievePageOfFiles(request, result);
} else {
printFileList(result);
}
});
}
var initialRequest = gapi.client.drive.files.list({'maxResults': 10});
console.log("initialRequest = "+initialRequest);
retrievePageOfFiles(initialRequest, []);
}
在萤火虫中,我看到响应如下:
[
{
"id": "gapiRpc",
"result": {
"kind": "drive#fileList",
"etag": "\"vGmlhiWxP02tugPmRvLynwC_A0Y/vyGp6PvFo4RvsFtPoIWeCReyIC8\""
}
}
]
这不是我的预期,因为我的云端硬盘包含两个文件。
有谁可以指出我的错误是什么?
由于
答案 0 :(得分:7)
我自己解决了这个问题,这是范围问题。
我正在使用
https://www.googleapis.com/auth/drive.file
但是这只授予访问文件的权限,使用应用程序发出请求。要访问我必须添加的所有文件
https://www.googleapis.com/auth/drive
我只是通过使用其他应用程序来解决它,并注意到它要求不同的范围。