我正在使用 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 帐户发送邮件。在我的刷新令牌被神秘撤销之前它可以工作几天,即使该帐户属于我。谷歌搜索把我带到了这里,我已经观察了一段时间,希望有人能提供解决方案。
正如您所提到的,这似乎只发生在测试/未经验证的应用程序中,我猜谷歌几天后会在您的帐户中撤销此类应用程序的令牌。经过多次试验和错误,这就是我所做的。
注意:此解决方案仅适用于您拥有的帐户,否则您必须验证您的应用才能访问其他人的帐户
我在其他任何地方都找不到任何相关的东西。所以,如果它适合你,请接受这个答案。它可能会帮助别人
另一个答案为我指明了正确的方向,但对我来说,该选项位于其他位置:安全 > 安全检查/发现安全问题 > 应用旁边的上下文菜单 > 关闭
这个问题似乎是针对未经验证的应用程序,只需从您的项目中删除令牌文件并重新运行项目,它将创建一个新令牌。
解决方案是删除您的token.json
文件以强制 Google 查找新令牌。
我能够在没有经过验证的应用程序的情况下让它工作。验证我的应用程序后,该refresh()
方法可能会起作用。不确定那个。
我的问题是当我添加access_token
而不是refresh_token
.