像往常一样共享给服务帐户,从日历 API 查询日历时,日历不会显示在列表中



我有大约 51 个 Google 日历共享到 Google 服务帐户,它们仍然运行良好,我定期收到他们的推送通知。我以通常的方式添加了另一个日历:"与其他人共享",并将电子邮件设置为我的服务帐户。然后,我尝试获取连接到服务帐户的所有日历的列表,我无法获得最新的日历。它不存在。

这是我在过去2-3年中使用的Joomla php代码:

public function loadCalendarList() {
$this->user = JFactory::getUser();
if ($this->_connect()) {
**$list = $this->_service->calendarList->listCalendarList();**
if (!empty($list['items'])) {
....

加载除新日历之外的所有日历。 我在互联网上搜索了所有内容,但没有线索, 我没有使用 G Suite。 如果我在没有任何服务帐户的情况下使用谷歌OAuth 2.0授权,我可以用新的日历加载所有52日历。 还有一个想法:我已经几个月没有添加到这个新日历中了,我认为谷歌有什么变化?

对于新共享的日历,在与服务帐号共享日历后,您需要将其显式插入到服务帐号的日历列表中。像这样:

$newCalendar=new Google_Service_Calendar_CalendarListEntry();
$newCalendar->setId("THE ID OF THE NEWLY ADDED CALENDAR");
$service->calendarList->insert($newCalendar);

最新更新