问题描述
我有问题,我正在使用此client表单将我的应用程序添加到Google驱动器api。
但问题是我无法检查文件是否为trashed
。
我在这里尝试
$client = new \Google_Client();
$client->setScopes(\Google_Service_Drive::DRIVE);
$client->setAuthConfig(app_path().'/Credentials/gDrive.json');
$service = new \Google_Service_Drive($client);
$folder = $service->files->get("fileid");
此结果始终返回为null,无论是否回收。
解决方法
我相信您的目标和当前情况如下。
- 您要检查是否使用googleapis for php将文件放入“垃圾箱”中。
- 您已经能够使用Drive API获取文件元数据。
- 您正在使用Drive API v3。
修改点:
- 使用Drive API v3时,“文件:获取”方法不会返回所有文件元数据。我认为您的问题的原因是这样的。因此,在这种情况下,需要使用
fields
。如果您只想查看trashed
,则可以使用trashed
作为字段。
当这反映到您的脚本时,它如下所示。
修改后的脚本:
从:$folder = $service->files->get("fileid");
至:
$folder = $service->files->get("fileid",array("fields" => "trashed"));
$trashed = $folder['trashed'] ? "true" : "false";
echo $trashed;
- 将
fileid
的文件放入“废纸“”中时,$trashed
是true
。 - 当
fileid
的文件未放入“废纸“”中时,$trashed
为false
。
注意:
- 例如,要获取所有文件元数据,可以使用
"fields" => "*"
代替"fields" => "trashed"
。