我可以在 Google API 中使用一个刷新令牌无限期地生成访问令牌吗

Can I indefinitely generate access tokens using one refresh token in Google API

我有点困惑使用 Google API

我的网站上有一个表格,用于在我的 public 日历上预订活动。每当用户预订活动时,我都会调用以获取访问令牌(使用客户端 ID 和密码以及刷新令牌),但使用我最初生成的相同刷新令牌。对于每个新的访问令牌,我都使用相同的刷新令牌。一切正常。但是我不懂流程

我是否需要在每次调用时生成一个新的刷新令牌?不这样做有哪些限制?我可以无限期地继续使用相同的刷新令牌生成访问令牌吗?谢谢!

刷新令牌是长期存在的,如果用于创建它的帐户的用户删除了访问权限,它们可能会过期。如果它在过去六个月内未使用 google 也会使刷新令牌过期。这是一个有点棘手的问题,如果您使用客户端 ID 请求用户访问,您将获得一个刷新令牌,如果您再次执行此操作,您将获得另一个刷新令牌,从技术上讲,这两个刷新令牌都可以工作,您最多可以执行此操作 50 次51 的时间第一个将过期。您可以多次使用刷新令牌以获得新的访问令牌。

我想问您的是,您是将 google 日历写给用户还是您网站上的某个默认日历?如果这是您正在处理的中央 Google 日历,那么您应该考虑使用服务帐户而不是 Oauth2。如果您有兴趣,我有一篇关于如何使用服务帐户的文章。 Google Developer service accounts