【问题标题】:Accessing GoogleDrive files using APIKey使用 API Key 访问 Google Drive 文件
【发布时间】:2019-09-20 14:40:11
【问题描述】:

我正在尝试创建一个可以准备 我的 GoogleDrive 文件的 nodejs 应用程序。 我不想要每个人都可以使用的应用程序,它只特定于我的 GoogleDrive。所以不需要 OAuth...

我已经在控制台中为 GoogleDrive 创建了一个 api 密钥,没有任何限制。

这是我正在做的电话: https://www.googleapis.com/drive/v3/files?pageSize=10&fields=nextPageToken&key=MY_KEY

使用此键时出现此错误:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "insufficientFilePermissions",
    "message": "The user does not have sufficient permissions for this file."
   }
  ],
  "code": 403,
  "message": "The user does not have sufficient permissions for this file."
 }
}

这在 GoogleDrive 中是否可行?

我必须在某处设置权限吗?

我在这里错过了什么?

【问题讨论】:

  • 虽然我不确定我是否能正确理解您的情况,但 API 密钥用于公开共享文件。因此,如果您尝试访问未公开共享的文件,则会发生错误。那么如何公开分享并再次尝试呢?如果您想在不公开共享的情况下访问该文件,那么使用 Service 帐户或 OAuth2 检索到的访问令牌如何?因为我不确定这是否是您想要的,所以我将其发布为评论。如果这不是您想要的方向,我很抱歉。
  • 经过调查,发现是这种情况。将此作为答案发布,可能会喜欢文档,因为我没有找到它。
  • 感谢您的回复。我发布了一个答案。你能确认一下吗?我找不到这种情况的明确文件。我为此道歉。我知道我的经历。所以我回答了。

标签: node.js google-drive-api


【解决方案1】:

这个答案怎么样?

问题:

API 密钥用于公开共享的内容。因此,如果您尝试访问未与 API 密钥公开共享的文件,即使该文件是您的,也会发生错误。

而且,API 密钥可用于 GET 方法。 API 密钥不能用于 POST 和 PUT 方法。请注意这一点。

解决办法:

为了访问您在 Google Drive 上的文件,以下方法怎么样?

  1. 公开共享文件,您可以使用 API 密钥访问文件。

    • 在这种情况下,即使共享文件作为可编辑权限公开共享,也无法使用 API 密钥写入文件。
  2. 如果您想在不公开共享的情况下访问文件,如何使用服务帐户或 OAuth2 检索到的访问令牌?

    • 如果使用OAuth2获取的访问令牌,需要自己的浏览器授权。
    • 如果使用服务帐号,您可以在不使用自己的浏览器授权的情况下检索访问令牌。

参考资料:

【讨论】:

    猜你喜欢
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多