如何获取有权限的Outlook组日历ID并查询其事件
问题解答
1. 获取已授权访问的特定组日历ID
/me/calendars 只返回当前用户的个人日历,共享或组日历得用其他接口查询:
- 调用
GET /me/calendars/sharedCalendars:这个接口会返回所有你有权访问的共享日历(包括组日历),返回结果里包含日历名称、ID等信息,你可以通过name字段筛选出"XYZ Cloud"对应的id。 - 要是知道组的相关信息,也可以先查组ID:调用
GET /groups?$filter=displayName eq 'XYZ Cloud'找到目标组的ID,再用GET /groups/{group-id}/calendar获取该组的日历ID。
2. 检索该组日历的事件列表
拿到日历ID后,用以下接口查询事件:
- 如果是从共享日历接口拿到的ID:调用
GET /me/calendars/{calendar-id}/events,就能获取该日历下的所有事件,还可以加$select、$filter这类参数来筛选结果。 - 如果是通过组ID拿到的组日历:也可以直接调用
GET /groups/{group-id}/calendar/events,效果是一样的。
注:你当前已授予的Calendars.ReadWrite、Calendars.ReadShared权限已经足够支持上述操作。
内容的提问来源于stack exchange,提问作者DWRoelands
相关产品推荐
相关产品推荐

