【问题标题】:'Token has been expired or revoked' - Google OAuth2 Refresh token gets expired in a few days“令牌已过期或撤销” - Google OAuth2 刷新令牌在几天后过期
【发布时间】:2021-05-09 12:00:31
【问题描述】:

我正在使用 Google Analytics API 来获取分析数据。我尝试使用以下步骤对其进行身份验证:

  • https://console.developers.google.com/ 凭据部分创建了 OAuth 客户端 ID。
  • 在同意屏幕中,我已将发布状态设置为测试
  • 在 OAuth 2.0 Playground 中,我使用上面生成的客户端 ID 和客户端密码获取了刷新令牌
  • 那我就用它来通过它生成访问令牌。

但是几天后,刷新令牌过期了,虽然提到刷新令牌的有效期是终生的。

【问题讨论】:

    标签: google-analytics google-api google-developers-console google-developer-tools oauth2-playground


    【解决方案1】:

    如果您的应用处于测试模式,则用户令牌将在 7 天内过期。请在此处找到此说明:https://support.google.com/cloud/answer/10311615#zippy=%2Ctesting

    【讨论】:

    • 这是我的问题。谢谢!
    • 访问OAuth consent screen并点击发布按钮,从测试状态变为发布状态。
    【解决方案2】:

    我需要使用 nodemailer 从我有权访问的 gmail 帐户发送邮件。它在我的刷新令牌被神秘地撤销之前工作了几天,即使该帐户属于我。谷歌搜索把我带到了这里,我已经观察了一段时间,希望有人能提供解决方案。

    正如您所提到的,这似乎只发生在经过测试/未经验证的应用程序中,我猜谷歌会在几天后撤销您帐户中此类应用程序的令牌。经过多次尝试和错误,这就是我所做的。

    注意:此解决方案仅适用于您拥有的帐户,否则您必须验证您的应用才能访问其他人的帐户

    1. SO post 中所述,生成一个新的刷新令牌(现有的很可能已被撤销)
    2. 转到您的 Google 帐户信息中心的 security tab
    3. 最近的安全活动部分下,您应该会看到您的应用的安全警报。
    4. 点击通知旁边的上下文菜单,然后点击DISMISS
    5. 此时,您将看到一个选项对话框,您可以在其中指明您对该应用程序的信任程度。我只是继续说我信任开发人员/应用程序,显然。就是这样!刷新令牌应在此之后保留。

    我在其他任何地方都找不到任何相关的东西。所以,如果它适合你,请接受这个答案。它可能会帮助其他人

    【讨论】:

    • 这是否应该防止新令牌在一周后过期?我上周取消了安全通知,我的新令牌现在又过期了。希望我错过了什么。根据谷歌的API verification exceptions,个人使用不需要验证,但没有关于如何表明该应用是供个人使用而不是测试的详细信息。
    【解决方案3】:

    另一个答案为我指明了正确的方向,但对我来说,该选项位于其他地方:安全 > 发现安全检查/安全问题 > 应用旁边的上下文菜单 > 关闭

    【讨论】:

      【解决方案4】:

      这个问题似乎是针对未经验证的应用程序,只需从您的项目中删除令牌文件并重新运行项目,它将创建一个新令牌。

      【讨论】:

      • 实际上它似乎与被验证无关。仅当应用仍在测试中时。
      【解决方案5】:

      解决方案是删除您的token.json 文件以强制 Google 查找新令牌。

      我能够在没有经过验证的应用程序的情况下让它工作。验证我的应用程序后,refresh() 方法可能会起作用。不确定那个。

      【讨论】:

      • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
      【解决方案6】:

      我的问题是我添加了access_token 而不是refresh_token

      【讨论】:

        猜你喜欢
        • 2019-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-07
        • 1970-01-01
        • 2018-02-10
        • 2021-01-26
        • 2018-06-05
        相关资源
        最近更新 更多