我正在开发一个网络应用程序(SPA 和后端),它必须不断访问用户的 Google 日历。该应用程序将全天候(24/7)运行,运行后台服务并修改用户的日历,而无需用户参与。据我了解,有两种实现此类服务的方法:
我是否遗漏了什么?还有其他选项可以在没有用户的情况下访问 Google 日历吗?
使用服务帐户。这将要求用户与服务帐户共享他的日历,这在我的情况下不是一个选项。
要明确的是,如果配置了域范围委派,服务帐户仅适用于 Google Workspace 域帐户。
使用服务器代码通过 OAuth2 对我的应用程序中的用户进行身份验证。这样,用户最初将被转发到 Google 登录页面,在那里他可以向我的应用程序授予所有必需的权限。接下来,我的服务器代码将检索access_token 和refresh_token。 Refresh_token将被存储在数据库中并定期用于更新access_token。这样,我的服务器就可以无限期地访问用户的 Google 日历。
是的,这就是要走的路。