如何使用Google Calendar v3访问其他用户的日历?

How do I access other users calendars with google calendar v3?

我正在将Google Calendar(v3)API与google应用程序配合使用,并希望使用单个oauth2凭据来确定在任何给定时间哪些用户忙/闲。

我想使用这个:
https://developers.google.com/google-apps/calendar/v3/reference/freebusy/query

但是要使用此功能,我需要获取所有用户的所有日历ID。我无法执行此操作,因为Google日历的Java客户端只能检索拥有该凭证的用户的日历。

注意:我可以通过预配置api访问所有用户。

任何帮助将不胜感激,因为我对此一无所知。


对于主日历,calendarId是用户的电子邮件地址。经过身份验证的用户还需要具有访问日历的权限。如果您使用的是Provisioning API,那么我假设您是超级管理员,超级管理员可以访问其域中的每个日历。

您尝试执行的特定查询需要一个calendarIds列表作为JSON列表进行查询。如果您仅关注主日历,则将每个用户的电子邮件设置为如下所示的ID:

1
2
3
4
5
6
7
8
"items": [
  {
   "id":"user1@example.com"
  },
  {
   "id":"user2@example.com"
  }
]

2013年,我花了大约一周的时间与Google日历集成。

分几个步骤:

  • 建立凭证
  • 获取日历所有者授权
  • 检索授权码
  • 索取令牌
  • 取回令牌
  • 获取日历ID
  • 更新令牌
  • 检索日历项
  • 我在2013年更详细地介绍了这些步骤,现在将其归档在以下网址:https://web.archive.org/web/20130215064337/http://www.tqis.com/eloquency/googlecalendar.htm#DOC77 <铅>