首页 > 解决方案 > 列出所有直接子 Google 驱动器 API 的文件夹

问题描述

我正在尝试使用 google api php 客户端列出位于 teamdrive 根目录的所有文件夹。我正在使用的 perans 如下所示:

$optParams = array(
  'driveId' => "<ID OF TEAM DRIVE>",
  'pageSize' => 100,
  'includeItemsFromAllDrives' => true,
  'supportsAllDrives' => true,
  'corpora' => "drive",
  'fields'=>'nextPageToken, files(id, name)',
  'q' => ["mimeType = 'application/vnd.google-apps.folder'", "'<ID OF TEAM DRIVE>' in parents"]

);

问题是这也列出了所有子文件夹,而不仅仅是该团队驱动器根目录中的文件夹。

这感觉应该很容易,但我可能遗漏了一些明显的东西。

标签: phpgoogle-apigoogle-api-php-client

解决方案


我确实通过删除 DriveId、copora 和 mimeType 解决了这个问题。我的猜测是这个声明(我没有找到文档)意味着一件事或另一件事,而不是一件事和另一件事。

["mimeType = 'application/vnd.google-apps.folder'", "'<ID OF TEAM DRIVE>' in parents"]

所以对我有用的是:

  $optParams = array(
  'pageSize' => 100,
  'includeItemsFromAllDrives' => true,
  'supportsAllDrives' => true,
  'fields'=>'nextPageToken, files(id, name)',
  'q' => "'<DRIVE ID>' in parents"

);

推荐阅读