在没有G-Suite的情况下为服务帐户授权Google日历

时间:2020-06-30 23:59:30

标签: google-calendar-api google-oauth

我正在尝试通过服务帐户使用Google Calendar API来检索事件。但是,列出日历或事件不会返回任何内容(不是错误,仅返回0条记录)。使用G-Suite进行域范围授权的文档/示例很多,但这只是一个Google单独帐户-它不属于任何G-Suite域。

我确实在共享下的日历中添加了服务帐户的电子邮件地址,但是当我尝试检索数据时日历仍然没有显示。

我应该使用某个URL吗?还是我缺少Google控制台中的某种配置设置?

1 个答案:

答案 0 :(得分:0)

添加服务帐户的电子邮件地址不足以共享日历:该帐户还必须accept日历。看起来这是由于最近的行为变化所致。

来自问题跟踪器中的comment

由于最近的行为更改,任何帐户都必须明确地“接受”已与他们共享的日历。对于服务帐户,应通过通过CalendarList.insert将日历添加到CalendarList来进行“接受”。

也就是说,添加服务帐户地址后,您必须调用CalendarList.insert将此日历添加到服务帐户的日历列表中。在通话中,您只需在请求正文中提供相应的日历id

参考: