google drive api,javascript列表文件什么都不返回

时间:2013-04-13 21:45:44

标签: javascript google-drive-api

我刚刚开始使用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\""
  }
 }
]

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

有谁可以指出我的错误是什么?

由于

1 个答案:

答案 0 :(得分:7)

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

我正在使用

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

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

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

我只是通过使用其他应用程序来解决它,并注意到它要求不同的范围。