如何检查文件是否被垃圾桶或Google Drive API 修改点:修改后的脚本:注意:参考:

问题描述

我有问题,我正在使用此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的文件放入“废纸“”中时,$trashedtrue
  • fileid的文件未放入“废纸“”中时,$trashedfalse

注意:

  • 例如,要获取所有文件元数据,可以使用"fields" => "*"代替"fields" => "trashed"

参考:

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...