通过云端硬盘 API 访问文件夹中的文件?

Accessing files in a folder via Drive API?

我正在尝试通过驱动器 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,表示该文件夹没有子文件夹。我知道这是假的。发生这种情况是否有特殊原因。

您可以通过 Google 开发者网站直接 here 执行此操作。