列出事件
命名空间:microsoft.graph
检索日历中的事件列表。 可以是用户的日历,也可以是 Microsoft 365 组的默认日历。 事件列表包含单个实例会议和系列母版。
要获取扩展的事件实例,可以获取日历视图,或者获取事件的实例。
注意
如果目标邮箱日历包含任何私人项目,则调用方必须:
- 通过 Add-MailboxPermission cmdlet) 授予
FullAccess
目标邮箱 (的邮箱权限。 -
Delegate
+CanViewPrivateItems
通过 Add-MailboxFolderPermission cmdlet) 授予标志 (与上一选项类似。 此选项将所有会议请求路由到委托邮箱。 有关解决方法,请参阅 SharingPermissionFlags。
不符合这些条件将导致 The specified object was not found in the store
响应。
此 API 可用于以下国家级云部署。
全局服务 | 美国政府 L4 | 美国政府 L5 (DOD) | 由世纪互联运营的中国 |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
权限
根据事件所处的日历类型和所请求的权限类型(委派型或应用程序),需要下列某一权限来调用此 API。 要了解详细信息(包括如何选择权限),请参阅权限。
日历 | 委派(工作或学校帐户) | 委派(个人 Microsoft 帐户) | 应用程序 |
---|---|---|---|
用户日历 | Calendars.ReadBasic、Calendars.Read、Calendars.ReadWrite | Calendars.ReadBasic、Calendars.Read、Calendars.ReadWrite | Calendars.ReadBasic、Calendars.Read、Calendars.ReadWrite |
组日历 | Group.Read.All、Group.ReadWrite.All | 不支持。 | 不支持。 |
HTTP 请求
用户或组的默认 日历。
GET /me/calendar/events
GET /users/{id | userPrincipalName}/calendar/events
GET /groups/{id}/calendar/events
默认 calendarGroup 中用户的 日历。
GET /me/calendars/{id}/events
GET /users/{id | userPrincipalName}/calendars/{id}/events
指定 calendarGroup 中用户的 日历。
GET /me/calendarGroups/{id}/calendars/{id}/events
GET /users/{id | userPrincipalName}/calendarGroups/{id}/calendars/{id}/events
可选的查询参数
此方法支持 OData 查询参数 来帮助自定义响应。
请求标头
名称 | 类型 | 说明 |
---|---|---|
Authorization | string | 持有者 {token}。 必填。 详细了解 身份验证和授权。 |
Prefer: outlook.timezone | string | 此选项可用于指定响应中开始时间和结束时间的时区。 如果未指定,返回的这些时间值采用 UTC 时区。 可选。 |
请求正文
请勿提供此方法的请求正文。
响应
如果成功,此方法在响应正文中返回 200 OK
响应代码和 event 对象集合。
示例
示例 1:列出日历事件
请求
以下示例显示了一个请求。
GET https://graph.microsoft.com/v1.0/me/calendar/events
响应
以下示例显示了相应的响应。 注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"originalStartTimeZone": "originalStartTimeZone-value",
"originalEndTimeZone": "originalEndTimeZone-value",
"responseStatus": {
"response": "",
"time": "datetime-value"
},
"iCalUId": "iCalUId-value",
"reminderMinutesBeforeStart": 99,
"isReminderOn": true
}
]
}
示例 2:通过筛选主题属性获取事件
本示例通过筛选以"All"开始的主题,获取用户主日历中的事件。
请求
下面为请求示例。
GET https://graph.microsoft.com/v1.0/me/calendar/events?$filter=startsWith(subject,'All')
响应
以下示例显示了相应的响应。 注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('458d4c95-124e-49da-ba9d-1dd0387e682e')/calendar/events",
"value": [
{
"@odata.etag": "W/\"73p1z1T9xUKc8HVNwAwcvgAAR5r+mw==\"",
"id": "AAMkADBmYTFkMzUyLTgxODQtNDA0YS05YzdlLWRkYjJlY2U4NTljZgBGAAAAAACdCqnIfBTiS7nPzH--j6RvBwDvenXPVP3FQpzwdU3ADBy_AAAAAAENAADvenXPVP3FQpzwdU3ADBy_AABH5Vj3AAA=",
"createdDateTime": "2021-09-13T13:08:27.8871578Z",
"lastModifiedDateTime": "2021-09-14T15:14:24.624932Z",
"changeKey": "73p1z1T9xUKc8HVNwAwcvgAAR5r+mw==",
"categories": [],
"transactionId": "f9a93e83-2e8f-a9aa-29af-17b4fe87e221",
"originalStartTimeZone": "India Standard Time",
"originalEndTimeZone": "India Standard Time",
"iCalUId": "040000008200E00074C5B7101A82E008000000001EC43E71A0A8D7010000000000000000100000003FE75E1BE3F09B43BCF2C0EF408DD567",
"reminderMinutesBeforeStart": 15,
"isReminderOn": true,
"hasAttachments": false,
"subject": "All APIs Testing",
"bodyPreview": "Microsoft Teams meeting",
"importance": "normal",
"sensitivity": "normal",
"isAllDay": false,
"isCancelled": false,
"isOrganizer": true,
"responseRequested": true,
"seriesMasterId": null,
"showAs": "busy",
"type": "singleInstance",
"webLink": "https://outlook.office365.com/owa/?itemid=AAMkADBmYTFkMzUyLTgxODQtNDA0YS05YzdlLWRkYjJlY2U4NTljZgBGAAAAAACdCqnIfBTiS7nPzH%2F%2Fj6RvBwDvenXPVP3FQpzwdU3ADBy%2BAAAAAAENAADvenXPVP3FQpzwdU3ADBy%2BAABH5Vj3AAA%3D&exvsurl=1&path=/calendar/item",
"onlineMeetingUrl": null,
"isOnlineMeeting": true,
"onlineMeetingProvider": "teamsForBusiness",
"allowNewTimeProposals": true,
"isDraft": false,
"hideAttendees": false,
"recurrence": null,
"responseStatus": {
"response": "organizer",
"time": "0001-01-01T00:00:00Z"
},
"body": {
"contentType": "html",
"content": "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"><meta content=\"text/html; charset=us-ascii\"></head><body><br>Microsoft Teams meeting</body></html>"
},
"start": {
"dateTime": "2021-09-14T08:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2021-09-14T08:30:00.0000000",
"timeZone": "UTC"
},
"location": {
"displayName": "Singapore",
"locationType": "default",
"uniqueId": "79e60b5c-bf7e-4811-b314-6eb7f270ec21",
"uniqueIdType": "locationStore"
},
"locations": [
{
"displayName": "Singapore",
"locationType": "default",
"uniqueId": "79e60b5c-bf7e-4811-b314-6eb7f270ec21",
"uniqueIdType": "locationStore"
}
],
"attendees": [
{
"type": "required",
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
},
"emailAddress": {
"name": "admin@contoso.com",
"address": "admin@contoso.com"
}
}
],
"organizer": {
"emailAddress": {
"name": "Samantha Booth",
"address": "samanthab@contoso.com"
}
},
"onlineMeeting": {
"joinUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_YTU5OGEwOTctMjE5NC00ZDQ3LTk5MGMtNWFjNjRmODNhNmVk%40thread.v2/0?context=%7b%22Tid%22%3a%2272f988bf-86f1-41af-91ab-2d7cd011db47%22%2c%22Oid%22%3a%22458d4c95-124e-49da-ba9d-1dd0387e682e%22%7d"
}
}
]
}