Google 驱动器 PHP v3 API 文件元数据

Google Drive PHP v3 API File Metadata

Google 指定 https://developers.google.com/drive/api/v3/reference/files#resource.

中的元数据

如果我这样做

$parameters['fields']="*";
$files = $service->files->listFiles($parameters);

那么我确实得到了几乎所有这些。 如果我这样做

$files = $service->files->listFiles($parameters);

即没有字段设置 我得到了一个子集,但是一些字段(例如 createdTime)现在是空白的 - 而这正是我需要的。 Google推荐(https://developers.google.com/drive/api/v3/fields-parameter) listing only the fields you need to improve performance, but just about everything I put in fields gets an error "Invalid field selection" (tested in https://developers.google.com/drive/api/v3/reference/about/get?apix_params=%7B%22fields%22%3A%22createdTime%22%7D)

$parameters['fields']="name,parents,mimeType,filesize,createdTime,modifiedTime";
$files = $service->files->listFiles($parameters);

关于这是如何工作的任何线索? 谢谢

我相信你的目标如下。

  • 您想使用 name,parents,mimeType,filesize,createdTime,modifiedTime 使用 Drive API v3 和用于 php.
  • 的 googleapis 检索文件列表

修改点:

  • filesize 没有字段。在本例中,它是 size.
  • Drive API v3的"Files: list"方法设置字段值name,parents,mimeType,size,createdTime,modifiedTime时,请使用files(name,parents,mimeType,size,createdTime,modifiedTime)。我认为您的 Invalid field selection name 错误消息的原因是由于此。

当以上几点反映到你的脚本中,就会变成下面这样。

修改后的脚本:

从:
$parameters['fields']="name,parents,mimeType,filesize,createdTime,modifiedTime";
到:
$parameters['fields']="files(name,parents,mimeType,size,createdTime,modifiedTime)";

参考文献: