如何检查文件是否已损坏 google 驱动器 api

how to check if file trashed or not 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");

这总是 return 被当作 null 丢弃,不管它是否被丢弃了..

我认为您的目标和现状如下。

  • 您想使用 php.
  • 的 googleapis 检查文件是否被放入“垃圾箱”
  • 您已经能够使用驱动器 API 获取文件元数据。
  • 您正在使用云端硬盘 API v3.

修改点:

  • 使用Drive API v3时,“Files:get”方法不会返回所有文件元数据。我认为你的问题的原因是这样的。所以在这种情况下,需要使用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"

参考: