【问题标题】:G Suite Drive API: Why can't I get the permissions of a specific file?G Suite Drive API:为什么我无法获取特定文件的权限?
【发布时间】:2020-05-15 11:23:12
【问题描述】:

我正在使用来自 G Suite Drive API 的数据,并且收到以下错误:

[2020-05-09 05:42:33,626: INFO/ForkPoolWorker-1] URL being requested: GET https://www.googleapis.com/drive/v3/files/<FILE_ID>/permissions?fields=%2A&alt=json
[2020-05-09 05:42:34,089: WARNING/ForkPoolWorker-1] Encountered 403 Forbidden with reason "insufficientFilePermissions"
[2020-05-09 05:42:34,089: WARNING/ForkPoolWorker-1] drive#permission: HTTP error (code 403): The user does not have sufficient permissions for this file.

导致问题的文件是 JPEG。我有文件 ID 和文件名。

情况如下:

  • 使用Drive Files API 查找文件并提供文件ID 时,将返回200 HTTP 响应。
  • 使用 Drive Permissions API 查找文件权限时,会引发 403 HTTP 错误。
  • 使用云端硬盘搜索栏查找文件并提供文件名时,找不到任何内容。

有人能解释一下吗?

感谢您的宝贵时间。

【问题讨论】:

  • 您是文件的所有者/编辑者还是查看者?

标签: google-api google-drive-api google-oauth google-workspace


【解决方案1】:

403 被禁止,原因是“insufficientFilePermissions”

意味着你没有权限去做你想做的事情

permissions.get 要求执行操作的用户已使用以下范围之一进行身份验证

如果您更改应用程序中的范围,请记住您需要再次运行该应用程序,以便它请求用户的同意才能获得新的同意。

【讨论】:

  • @DalmTo 如果我错了,请纠正我,但文件和权限 API 都有一些共同的范围。例如,我在两个 API 调用中使用相同的范围:googleapis.com/auth/drive.readonly,理论上是有效的。如果是这样,为什么我在一种情况下得到 200 响应而在另一种情况下得到 403。也许这与范围无关。
  • 只读将只允许您读取数据而不是更改它,如果您想更改它,那么您将需要 drive.file 权限。
【解决方案2】:

如果您的权限允许您使用Files: get 但不允许使用Permissions: list,则您对文件只有查看权限

您需要成为编辑或所有者才能使用Permissions:list

【讨论】:

    猜你喜欢
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-22
    相关资源
    最近更新 更多