我正在使用Google Analytics API获取分析数据。我尝试以下步骤进行身份验证:
- 在https://console.developers.google.com/凭据部分创建OAuth客户端ID。
- 在同意屏幕中,将发布状态设置为测试。
- 在OAuth 2.0 Playground中,使用上述生成的客户端ID和客户端密钥获得刷新令牌。
- 然后,我使用它来生成访问令牌。
但几天后,刷新令牌过期了,尽管刷新令牌的有效性是终身的。
我正在使用Google Analytics API获取分析数据。我尝试以下步骤进行身份验证:
但几天后,刷新令牌过期了,尽管刷新令牌的有效性是终身的。
如果您的应用程序处于测试模式,则用户令牌将在7天后过期。请参阅此处的解释:https://support.google.com/cloud/answer/10311615#zippy=%2Ctesting
我需要使用nodemailer从我拥有访问权限的gmail帐户发送邮件。它能正常工作几天,然后我的刷新令牌神秘地被吊销,尽管这个帐户属于我。通过谷歌搜索我来到了这里,并一直关注着希望有人能提供解决方案。
正如你所提到的,这似乎只会发生在测试/未验证的应用程序上,我猜测谷歌会在几天后吊销此类应用程序的令牌。经过多次尝试和错误,以下是我所做的。
注意:此解决方案仅适用于您拥有的帐户,否则您必须验证您的应用程序以访问其他人的帐户
我在其他地方找不到任何相关的信息。
我的操作:
access_token
而不是refresh_token
时。这个问题似乎是针对未经验证的应用程序,只需从您的项目中删除令牌文件并重新运行项目,它将创建一个新的令牌。
我在使用 Woocommerce 预约日历同步应用时遇到了问题。一直断开连接,文档里也没有解决方法。于是我联系了他们的支持团队,得知要前往 OAuth consent screen 并将发布状态从“测试”更改为“生产”。
这是我注意到的错误:
错误:无法使用刷新令牌获取访问令牌。谷歌同步被禁用,直到重新认证。错误:“invalid_grant”,“令牌已过期或已被吊销。” 提醒:无效的访问令牌。需要重新连接 Google。代码 0。消息:无效的令牌格式。
解决方案是删除您的token.json
文件,以强制Google查找新的令牌。
我能够在没有经过验证的应用程序的情况下使其工作。也许refresh()
方法在我的应用程序经过验证后会起作用。对此不确定。