带有php的多个文件夹中的Google API查询文件

问题描述 投票:0回答:1

我正在尝试使用多个文件夹ID查询Google驱动器。

这是我的查询

 $optParams = array(
 'pageSize' => 1000
    ,'fields' => 'nextPageToken, files(contentHints/thumbnail,fileExtension,iconLink,id,name,size,thumbnailLink,webContentLink,webViewLink,mimeType,parents, kind, trashed, owners, modifiedTime)'
    ,[q] => "trashed=false and ('folder-id-1' in parents or 'folder-id-2' in parents or 'folder-id-3' in parents or 'folder-id-4' in parents or 'folder-id-5' in parents)"
   );                

 $service = new \Google_Service_Drive($this->GoogleClient);
 $results = $service->files->listFiles($optParams);

但是它仅从前两个文件夹返回文件


编辑有关我的查询和返回结果的更多详细信息。文件夹ID已被清除。

    $fldrs = [];
    $fldrs[] = "folder-id-1"; // Toolkit 3 folders (Shared with me)
    $fldrs[] = "folder-id-2"; // Untitled folder 1 file (min)
    $fldrs[] = "folder-id-3"; // Logos 14 files (not mine)
    $fldrs[] = "folder-id-4"; // Posters (8 files - not mine)
    $fldrs[] = "folder-id-5"; // Promo Assets (11 files not mine)

    $q = "trashed=false and (";
    $MaxFolders = 5;
    for ($i=0;$i<$MaxFolders;$i++)
    {
        if ($i > 0) $q .= " or ";
        $q .= "'{$fldrs[$i]}' in parents";
    }

    $q .= ")";

    $optParams = array(
         'pageSize' => 1000
        ,'fields' => 'nextPageToken, files(contentHints/thumbnail,fileExtension,iconLink,id,name,size,thumbnailLink,webContentLink,webViewLink,mimeType,parents, kind, trashed, owners, modifiedTime, driveId)'
        ,q => $q
      );                

    $service = new \Google_Service_Drive($this->GoogleClient);
    $results = $service->files->listFiles($optParams);

    ------

$ optParams是这个(来自调试)

    array(3) (
      [pageSize] => (int) 1000
      [fields] => (string) nextPageToken, files(contentHints/thumbnail,fileExtension,iconLink,id,name,size,thumbnailLink,webContentLink,webViewLink,mimeType,parents, kind, trashed, owners, modifiedTime, driveId)
      [q] => (string) trashed=false and ('folder-id-1' in parents or 'folder-id-2' in parents or 'folder-id-3' in parents or 'folder-id-4' in parents or 'folder-id-5' in parents)
    )

这仅返回5个文件(文件夹3和4,以及3个文件:文件夹2中的1个文件,文件夹3中的1个文件,文件夹5中的1个文件)]]

[如果我只完成第一个文件夹,就会得到3个文件夹。如果我做2个文件夹,我会得到2个文件夹和1个文件如果我做3个文件夹,我会得到2个文件夹和2个文件如果我有4个文件夹,我会得到2个文件夹和2个文件(与执行3个文件夹相同)

如果我只选择文件夹3(徽标),我将获得全部14个文件。

大多数文件不是我自己的。他们与我分享。

我正在尝试使用多个文件夹ID查询Google驱动器。这是我的查询$ optParams = array('pageSize'=> 1000,'fields'=>'nextPageToken,files(contentHints / thumbnail,...

php google-api google-drive-api google-api-php-client
1个回答
0
投票

参数不是数组。尝试这个。

© www.soinside.com 2019 - 2024. All rights reserved.