Google Drive API高级文件搜索

时间:2017-07-05 14:48:55

标签: php google-drive-api google-api-php-client

我正在尝试开发一个PHP脚本,通过我的Google云端硬盘列出我的文件 。我有目前的结构:

 -- logo1.png
|
|-- logo2.png
|
 -- myFolder
|     |
|      --logo3.png
|
|
 -- myPrivateFolder
      |
       --logo4.png

我正在使用Google PHP库来进行查询。要列出我的文件,我有以下代码:

$client = new Google_Client();
$client->setAuthConfig($oauth_credentials);
$client->setRedirectUri($redirect_uri);
$client->addScope("https://www.googleapis.com/auth/drive");
$service = new Google_Service_Drive($client);


$result = array();

try {
  $parameters = array(
      'q' => "mimeType contains 'image/'",
  );
  $files = $service->files->listFiles($parameters);

  $result = array_merge($result, $files->getFiles());
} catch (Exception $e) {
  print "Une erreur s'est produite : " . $e->getMessage();
}
return $result;

$ result是一个包含4个元素的数组。由于我指定我只想要MIME类型'image /',我只得到我的4张图片。现在,我想知道,如何过滤我的结果以从研究中排除我的私人目录?我希望能够指定哪个文件夹不显示?

我无法在文档中找到有关此内容的任何内容。在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

首先,您需要获取私人目录的ID。您可以使用查询

执行此操作
name = 'my_private_directory'

获得ID后,您可以使用

扩展现有查询

and not 'xxxxxx' in parents其中xxxx是步骤1中的文件ID。