通过Drive API访问文件夹中的文件?

时间:2016-03-31 20:44:35

标签: javascript google-app-engine google-drive-api

我正在尝试通过Drive API从我的Google云端硬盘访问某些文件。我按照教程here ,在Javascript中这样做。现在,只需调用函数listFiles()即可正常工作,并打印驱动器中的所有文件及其ID。

但是,我想访问某些文件夹中找到的所有文件。在线查看,驱动器API具有名为retrieveAllFilesInFolder(folderId, callback)

的功能

定义如下:

function retrieveAllFilesInFolder(folderId, callback) {
  var retrievePageOfChildren = function(request, result) {
    request.execute(function(resp) {
      result = result.concat(resp.items);
      var nextPageToken = resp.nextPageToken;
      if (nextPageToken) {
        request = gapi.client.drive.children.list({
          'folderId' : folderId,
          'pageToken': nextPageToken
        });
        retrievePageOfChildren(request, result);
      } else {
        callback(result);
      }
    });
  }
  var initialRequest = gapi.client.drive.children.list({
      'folderId' : folderId
    });
  retrievePageOfChildren(initialRequest, []);
}

当我调用本地服务器中的代码(传入文件夹的字符串ID)时,我收到以下错误:quickstart.html:73 Uncaught TypeError: Cannot read property 'list' of undefined,暗示此文件夹中没有子代。我知道这是假的。有没有特别的原因发生这种情况。

1 个答案:

答案 0 :(得分:0)

您可以通过Google Developer's网站直接here进行此操作。