我有一个应用程序使用s2s连接与谷歌日历api。我需要在不同的用户日历中创建一个事件。为了实现这一点,用户应该进入日历设置并将其日历共享到服务帐户。但是我想为用户简化这一点——这样他们就不需要去他们的日历设置了。我没有用户交互的界面——它是一个机器人。如何以另一种方式访问用户的日历?
也许您可以将用户设置的角色更改为日历。根据该文档,日历的所有者可以通过向其他用户提供访问权限来共享日历。给定日历的共享设置由该日历的ACL集合(访问控制列表)表示。ACL集合中的每个资源授予指定的被授权者一定的访问角色。因此,用户可以将您设置为日历的作者或所有者,以便您可以访问它。
另一种方法是将域范围的权限委托给服务帐户,
如果你有一个Google Apps域名,如果你使用Google Apps for Work例如,Google Apps域的管理员可以授权一个应用程序访问用户数据代表用户在谷歌应用程序域。例如,使用Google Calendar API的应用程序将事件添加到Google Apps域中所有用户的日历中会使用服务帐户访问Google Calendar API吗代表用户。授权服务帐户访问其上的数据在一个域中代表用户有时被称为"委托"域范围权限"到服务帐户