Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 谷歌驱动器API高级文件搜索_Php_Google Drive Api_Google Api Php Client - Fatal编程技术网

Php 谷歌驱动器API高级文件搜索

Php 谷歌驱动器API高级文件搜索,php,google-drive-api,google-api-php-client,Php,Google Drive Api,Google Api Php Client,我正在尝试开发一个PHP脚本,它通过我的Google驱动器列出我的文件 . 我有目前的结构: -- logo1.png | |-- logo2.png | -- myFolder | | | --logo3.png | | -- myPrivateFolder | --logo4.png 我正在使用GooglePHP库进行查询。要列出我的文件,我有以下代码: $client = new Google_Client(); $client->

我正在尝试开发一个PHP脚本,它通过我的Google驱动器列出我的文件 . 我有目前的结构:

 -- logo1.png
|
|-- logo2.png
|
 -- myFolder
|     |
|      --logo3.png
|
|
 -- myPrivateFolder
      |
       --logo4.png
我正在使用GooglePHP库进行查询。要列出我的文件,我有以下代码:

$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个图像。现在,我想知道,如何过滤我的结果,将我的私有目录从研究中排除?我希望能够指定不在哪个文件夹中查找


我在文档中找不到任何与此相关的内容。提前感谢您的帮助

首先,您需要获取私有目录的ID。您可以通过查询来实现这一点

name = 'my_private_directory'
获得ID后,可以使用扩展现有查询


而不是父目录中的“xxxxxx”
其中xxxx是步骤1中的文件ID。

首先,您需要获取私有目录的ID。您可以通过查询来实现这一点

name = 'my_private_directory'
获得ID后,可以使用扩展现有查询


而不是家长中的“xxxxxx”
其中xxxx是步骤1中的文件ID。

谢谢您的回答!工作得很好。如果我有更多文件夹,如何调整我的请求
mimeType在父对象中包含'image/'而不是'X1',在父对象中不包含'X2',在父对象中不包含X3',在父对象中不包含'X4'。
此外,我只想获取我的文件,而不是共享的Withme文件。因此,我添加了
和sharedWithMe=false
,但我得到了这个错误:
{“error”:{“errors”:[{“domain”:“global”,“reason”:“invalid”,“message”:“invalid Value”,“locationType”:“parameter”,“location”:“q”}],“code”:“400”,“message”:“invalid Value”}
mimeType包含'image/'而不是'X1'在父对象中,不是'X2'在父对象中,不是'X3'在父对象中,也不是'X4'在父对象和共享对象中,whithme=false
但是如果我写
=true
它可以工作,但我希望它设置为false…看起来像是驱动器中的一个bug。请确认,非常感谢您的帮助。您知道我是否可以将脚本应用于多个帐户吗?我的意思是,不用在我的浏览器中打开我的PHP页面来搜索ListFiles,我可以用一个服务器端PHP脚本来列出多个google帐户的文件吗?谢谢你的回答!工作得很好。如果我有更多文件夹,如何调整我的请求
mimeType在父对象中包含'image/'而不是'X1',在父对象中不包含'X2',在父对象中不包含X3',在父对象中不包含'X4'。
此外,我只想获取我的文件,而不是共享的Withme文件。因此,我添加了
和sharedWithMe=false
,但我得到了这个错误:
{“error”:{“errors”:[{“domain”:“global”,“reason”:“invalid”,“message”:“invalid Value”,“locationType”:“parameter”,“location”:“q”}],“code”:“400”,“message”:“invalid Value”}
mimeType包含'image/'而不是'X1'在父对象中,不是'X2'在父对象中,不是'X3'在父对象中,也不是'X4'在父对象和共享对象中,whithme=false
但是如果我写
=true
它可以工作,但我希望它设置为false…看起来像是驱动器中的一个bug。请确认,非常感谢您的帮助。您知道我是否可以将脚本应用于多个帐户吗?我的意思是,我可以用一个服务器端PHP脚本来列出多个google帐户的文件,而不是在浏览器中打开我的PHP页面来搜索ListFiles吗?