teamDriveID PHP的Google TeamDrive getChildren

时间:2019-01-30 20:47:07

标签: php directory children

我正在使用PHP和以下调用来检索顶级TeamDrive文件夹。

$service->teamdrives->listTeamdrives()->getTeamDrives();
  

结果

     

TeamDrive1 ---假设ID为XXXXXX

     

TeamDrive2 ---假设ID为YYYYYY

TeamDrive1有一个名为TeamDrive1Sub1的子文件夹(ID为SSSSS) 那么TeamDrive1Sub1(ID PPPPP)也有一个子文件夹等

我尝试使用Drive REST API文件:列表-但这似乎不起作用...

我需要找到子级“ x”的深度,该怎么做?也许还有其他一些接口调用,例如我在$service->teamdrives->listTeamdrives()->getTeamDrives();上方使用的那个接口调用,它使我可以从ID XXXXXX开始并检索它的孩子

1 个答案:

答案 0 :(得分:0)

找到了自己的答案,但是可能有更好的方法...如果您拥有teamdrive文件夹的ID,并希望获得子文件夹-这就是我对PHP代码的了解

//- first we need to get the $teamDriveId - using the /files/get & the $folderId we passed in

       $folderId = "XXXXXX"  // from above

        $optParams = array(
            'supportsTeamDrives' => true,
        );
        $results = $service->files->get($folderId, $optParams);
        $teamDriveId = $results["teamDriveId"];

        // now we can get the sub-folders (if there are any)
        $params = [
            'q'                     => "'{$folderId}' in parents and trashed = false and mimeType = 'application/vnd.google-apps.folder'",
            'pageSize'              => $pageSize,
            'corpora'               => 'teamDrive',
            'includeTeamDriveItems' => true,
            'supportsTeamDrives'    => true,
            'teamDriveId'           => $teamDriveId,    // this must be the parent Id
            'orderBy'               => 'name',
        ];

        $results = $service->files->listFiles($params);

希望这对某人有帮助