4

我刚刚开始使用 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, []);
        }

在 firebug 中,我看到响应如下所示:

[
 {
  "id": "gapiRpc",
  "result": {
  "kind": "drive#fileList",
  "etag": "\"vGmlhiWxP02tugPmRvLynwC_A0Y/vyGp6PvFo4RvsFtPoIWeCReyIC8\""
  }
 }
]

这不是我所期望的,因为我的云端硬盘包含两个文件。

谁能指出我的错误是什么?

谢谢

4

1 回答 1

7

我自己解决了这个问题,这是范围的问题。

我正在使用

https://www.googleapis.com/auth/drive.file

但这仅授予对使用发出请求的应用程序创建的文件的访问权限。要访问我必须添加的所有文件

https://www.googleapis.com/auth/drive

我只是通过使用另一个应用程序才发现它并注意到它要求不同的范围。

于 2013-04-13T22:44:36.257 回答