使用驱动器api drive.files.list为照片空间返回空文件列表。如果我没有指定空格,我会得到一个文件列表,其中一些是驱动器和照片空间的成员,如下所示:
查询:
GET https://www.googleapis.com/drive/v3/files?pageSize=1000&fields=files&key={YOUR_API_KEY}
响应(大量文件元数据,包括具有'space'属性的文件):
..."spaces": ["photos","drive"],...
但是,如果我查询“照片”空间中的文件,我会得到:
查询:
GET https://www.googleapis.com/drive/v3/files?pageSize=1000&spaces=photos&fields=files&key={YOUR_API_KEY}
响应:
{"files": []}
所以看起来我的权限是正确的,因为如果没有指定'space',它将返回给我所有文件信息,但是将'photos'的过滤器约束添加到'space'属性会导致不返回文件元数据(空列表)。
这个功能在过去几年有效,最近似乎已经破裂。
任何提示都赞赏!
答案 0 :(得分:4)
在当前阶段,照片空间被引入为已弃用。
(DEPRECATED)照片空间包含上传到Google相册的所有图片和视频。
参考:https://developers.google.com/drive/v3/web/about-organization#spaces
因为Google相册最近更新了。 (关于这一点,您可能已经知道。)通过此更新,Drive API的端点将检索Google相册中的文件而不使用spaces=photos
。如果您只想检索Google相册中的文件,请使用q
。
您可以使用文件夹ID检索Google相册中的文件,如下所示。
GET https://www.googleapis.com/drive/v3/files?q=%22### folder ID of Google Photos ###%22+in+parents&key={YOUR_API_KEY}
根据您的问题,您可能已经完成了以下设置。如果您已经完成,请忽略此。
如果您看不到“Google相册”的文件夹,请访问https://support.google.com/photos?p=drive,然后查看该文档。启用Google云端硬盘后,您可以看到该文件夹并检索文件夹ID。在这种情况下,“Google相册”中的文件和文件夹将变为"spaces": ["drive"]
。
如果我误解了你的情况,我很抱歉。