Google OAuth 2.0 的长期访问令牌

why*_*ent 6 google-api google-sheets google-drive-api google-oauth

我正在构建一个需要访问 Google Drive 和 Google Sheets 的应用程序。我希望用户转到https://mydomain.appspot.com/authenticate以完成 Google 登录流程并验证自己的身份,以便后端接收 Google Drive 和 Google Sheets 的访问令牌。

之后,我希望后端无需用户交互即可访问云端硬盘和表格。例如,我希望计划任务每​​小时运行一次并从云端硬盘和表格中检索一些数据。我希望后端使用它在用户对自己进行身份验证时收到的令牌。

这可能吗?我真的希望如此。我一直在这里寻找,但我真的找不到任何可以帮助我的东西。https://developers.google.com/sheets/api/guides/authorizing

后端使用 Java 开发并部署在 Google App Engine 上。

DaI*_*mTo 5

长期访问令牌实际上称为刷新令牌。您需要让您的用户对您的应用程序进行身份验证,然后您将收到一个刷新令牌。然后,刷新令牌可用于在您需要时从 Google 身份验证服务器请求新的访问令牌。

注意:不要用服务帐户跟踪自己,这不是一回事。您可以使用从 Oauth2 获得的刷新令牌运行自动化脚本,谷歌的术语只是有点混乱。

查看官方的 google java 客户端库,它应该为您处理大部分内容。 将 OAuth 2.0 与适用于 Java 的 Google API 客户端库结合使用