| title | Get calendar |
|---|---|
| description | Get the properties and relationships of a calendar object. The calendar can be one for a user, |
| ms.localizationpriority | high |
| author | iamgirishck |
| ms.subservice | outlook |
| doc_type | apiPageType |
| ms.date | 06/21/2024 |
Namespace: microsoft.graph
Get the properties and relationships of a calendar object. The calendar can be one for a user, or the default calendar of a Microsoft 365 group.
There are two scenarios where an app can get another user's calendar:
- If the app has application permissions, or,
- If the app has the appropriate delegated permissions from one user, and another user has shared a calendar with that user, or, has given delegated access to that user. See details and an example.
[!INCLUDE national-cloud-support]
Depending on the type of calendar that the event is in and the permission type (delegated or application) requested, one of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.
| Calendar | Delegated (work or school account) | Delegated (personal Microsoft account) | Application |
|---|---|---|---|
| user calendar | Calendars.ReadBasic, Calendars.Read, Calendars.ReadWrite | Calendars.ReadBasic, Calendars.Read, Calendars.ReadWrite | Calendars.ReadBasic, Calendars.Read, Calendars.ReadWrite |
| group calendar | Group.Read.All, Group.ReadWrite.All | Not supported. | Not supported. |
A user's or group's default calendar.
GET /me/calendar
GET /users/{id | userPrincipalName}/calendar
GET /groups/{id}/calendarA user's calendar in the default calendarGroup.
GET /me/calendars/{id}
GET /users/{id | userPrincipalName}/calendars/{id}A user's calendar in a specific calendarGroup.
GET /me/calendarGroups/{id}/calendars/{id}
GET /users/{id | userPrincipalName}/calendarGroups/{id}/calendars/{id}This method supports the OData Query Parameters to help customize the response.
| Name | Type | Description |
|---|---|---|
| Authorization | string | Bearer {token}. Required. Learn more about authentication and authorization. |
Don't supply a request body for this method.
If successful, this method returns a 200 OK response code and calendar object in the response body.
The following example gets the signed-in user's default calendar.
GET https://graph.microsoft.com/v1.0/me/calendar
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
The following example shows the response. Note: The response object shown here might be shortened for readability.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#me/calendars/$entity",
"@odata.id": "https://graph.microsoft.com/v1.0/users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/calendars('AAMkAGI2TGuLAAA=')",
"id": "AAMkAGI2TGuLAAA=",
"name": "Calendar",
"color": "auto",
"isDefaultCalendar": false,
"changeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
"canShare":true,
"canViewPrivateItems":true,
"hexColor": "",
"canEdit":true,
"allowedOnlineMeetingProviders": [
"teamsForBusiness"
],
"defaultOnlineMeetingProvider": "teamsForBusiness",
"isTallyingResponses": true,
"isRemovable": false,
"owner":{
"name":"Samantha Booth",
"address":"samanthab@contoso.com"
}
}