Google 使用 API-KEY 驱动器获取文件

Google drive get files with API-KEY

我在下面使用 url 获取文件

https://www.googleapis.com/drive/v2/files?name=xxx&key=yyy

但是我得到这个错误:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "Insufficient permissions for this file",
    "locationType": "other",
    "location": "file.permissions"
   }
  ],
  "code": 403,
  "message": "Insufficient permissions for this file"
 }
}

我只想使用 key

获取列表

我怎么可以?

我相信你的目标如下。

  • 您想使用 API 密钥检索 Google 驱动器的文件列表。
  • 您想使用 Drive API v2.
  • 实现此目的

问题和解决方法:

API键可用于public内容。因此,不幸的是,您无法使用 API 键从根文件夹中访问 Google 驱动器上的所有文件。因为 Google Drive 的根文件夹无法 publicly 共享。我认为您的错误消息可能是由于此造成的。 (我不确定你想用 name=xxx 做什么。但是,https://www.googleapis.com/drive/v2/files?key=yyy 正在尝试检索 Google 驱动器的所有文件的文件列表。在这种情况下,会发生这样的错误.) 但是,幸运的是,当 Google 驱动器中的文件夹被 public 共享时,可以使用 API 键检索文件列表。

在这个回答中,我想介绍一下从Google驱动器中的publicly共享文件夹中检索文件列表的方法。

示例端点:

当您测试以下端点时,请public在您的 Google 驱动器中共享一个文件夹并使用该文件夹的文件夹 ID。这样,可以使用API键检索文件夹的文件列表。

https://www.googleapis.com/drive/v2/files?q=%27folderId%27%20in%20parents&key=[YOUR_API_KEY]
  • 在此端点中,'folderId' in parents 用作搜索查询。因此,在这种情况下,folderId 的文件夹需要 public 共享。当您使用此脚本时,请将 folderId 替换为您 public 仅共享的文件夹的文件夹 ID。

  • 使用Drive API v3时,可以使用以下端点。

      https://www.googleapis.com/drive/v3/files?q=%27folderId%27%20in%20parents&key=[YOUR_API_KEY]
    

注:

  • 当您要检索包含具有文件夹结构的子文件夹的文件列表时,需要遍历文件夹。在这种情况下,我认为需要使用脚本。
  • 此答案假定您的 API 密钥可以用于驱动器 API。请注意这一点。

参考文献: