我正在使用 nodemailer 和 Google OAuth2 发送电子邮件。所有指南都说要从 oauthplayground 获取刷新令牌。然而,其他消息来源称,来自 oauthplayground 的刷新令牌很快就会过期,只能用于测试。还有另一个 StackOverflow 问题,答案如下:
“解决方案是在代码中使用 Oauth2 来请求用户同意,然后将项目设置为生产状态,并将刷新令牌本地存储在应用程序中。然后通过以下方式处理任何过期的刷新令牌(如果用户撤销您的访问权限):再次请求授权。”
这对我来说没有意义。谁是“用户”?是不是碰巧访问应用程序前端的人,并且他们的授权用于发送电子邮件?
我希望能够在后端设置刷新令牌,并且我希望不必每隔几天手动更新刷新令牌。这可能吗? Google 是否提供永不过期的刷新令牌?如果有的话,如何获得?
当您使用默认凭据使用 OAuth Playground 时,是的,刷新令牌将在 24 小时内自动撤销。
您需要做的是使用右上角的配置图标使用您自己的应用程序凭据配置 OAuth Playground,然后生成的刷新令牌将不会自动撤销。
您首先需要使用 Google Cloud 控制台创建自己的应用和应用凭据,然后在 API 和服务部分
创建应用凭据