通过驱动器API访问文件夹中的文件

Accessing files in a folder via Drive API?

本文关键字:文件 文件夹 访问 驱动器 API      更新时间:2023-10-12

我正在尝试通过驱动器API访问Google驱动器中的一些文件。我遵循了这里的教程,用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 Developer的网站直接在这里完成。