Google OAuth 2.0的长期访问令牌

6
我正在开发一个应用程序,需要访问Google Drive和Google Sheets。我希望用户前往https://mydomain.appspot.com/authenticate进行Google登录流程并进行身份验证,以便后端接收Google Drive和Google Sheets的访问令牌。
之后,我希望后端能够在没有用户交互的情况下访问Drive和Sheets。例如,我想要一个定时任务每小时运行一次,并从Drive和Sheets中检索一些数据。我希望后端使用它在用户身份验证时收到的令牌。
这是可能的吗?我真的希望如此。我一直在这里寻找帮助,但并没有找到可以帮助我的东西。 https://developers.google.com/sheets/api/guides/authorizing 后端使用Java开发,并部署在Google App Engine上。
2个回答

7
一种长期有效的访问令牌实际上被称为刷新令牌。您需要让用户对您的应用程序进行身份验证,然后您将收到一个刷新令牌。每当您需要时,可以使用刷新令牌从Google认证服务器请求新的访问令牌。
注意:不要因为服务账户而走进歧途,它不是同样的东西。您可以使用从Oauth2获取的刷新令牌运行自动化脚本,但Google术语有点混乱。
查看官方的Google Java客户端库,它应该为您处理大部分内容。在Java中使用OAuth 2.0与Google API客户端库

1
似乎我们需要每小时刷新一次访问令牌。访问令牌的有效期为3600秒。 - Ashit Vora

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接