【问题标题】:Drive API App OAuth Permissions Not UpdatingDrive API 应用程序 OAuth 权限未更新
【发布时间】:2020-06-01 18:38:48
【问题描述】:

我正在开发一项 Golang 服务,该服务将连接到 Google Drive 并下载文件。问题是,无论我如何更新项目权限,当我运行应用程序并转到浏览器窗口进行 OAuth 时,它只显示在授予更多权限时需要授予的 metadata 权限,以便我可以下载文件。

以下是我为服务采取的步骤:

  1. 我在 Google Developer Console 中创建了一个项目。

  2. 在该项目中,我启用并更新了 Google Drive 权限,以捕获所有 auth/drive 权限(我也尝试授予所有权限,并且只授予一些细粒度的权限)。

  3. 我从这个例子中创建了 Golang 服务:https://developers.google.com/drive/api/v3/quickstart/go

  4. 我运行 Golang 应用程序,它提示我在浏览器中打开一个 URL 以进行 OAuth 身份验证。

  5. 我在浏览器中打开链接,使用我的应用所有者 gmail 帐户进行身份验证,无论我做什么,每次这是唯一显示的 OAuth 范围:

如果我使用Drive API Explorer to perform the file download,则表明我需要这些权限:

当我在资源管理器中单击“执行”时,OAuth 弹出窗口会显示我对我的应用程序期望的所有权限并且可以正常工作:

我做错了什么或错过了什么?

这可能是因为该应用是“内部”应用吗?

【问题讨论】:

    标签: go google-drive-api google-oauth google-developers-console


    【解决方案1】:

    问题出在我用来搭建应用程序的Golang Quick-Start boilerplate code 中。

    这一行覆盖了我在控制台中明确设置的权限设置。

        // If modifying these scopes, delete your previously saved token.json.
        config, err := google.ConfigFromJSON(b, drive.DriveMetadataReadonlyScope)
        if err != nil {
            log.Fatalf("Unable to parse client secret file to config: %v", err)
        }
    

    修改为:

        // If modifying these scopes, delete your previously saved token.json.
        config, err := google.ConfigFromJSON(b, drive.DriveScope)
        if err != nil {
            log.Fatalf("Unable to parse client secret file to config: %v", err)
        }
    

    【讨论】:

      猜你喜欢
      • 2012-08-18
      • 1970-01-01
      • 2016-02-19
      • 2012-12-24
      • 1970-01-01
      • 2020-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多