Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Now you can use the GetSchedule API (when I publish this article, its available in /beta endpoint) to get the free/busy availability information for a collection of users, distributions lists, or resources, for a specified time period.
You can use it simply by calling,
POST /me/calendar/getSchedule
POST /users/{id|userPrincipalName}/calendar/getSchedule
Let me play with this API call and try to get the availability information for two users for the specified date, time, and time zone.
Request body:
{
"schedules": ["alex@djayasee.onmicrosoft.com", "alexw@djayasee.onMicrosoft.com"],
"startTime": {
"dateTime": "2018-09-26T04:00:00",
"timeZone": "Pacific Standard Time"
},
"endTime": {
"dateTime": "2018-09-27T14:00:00",
"timeZone": "Pacific Standard Time"
},
"availabilityViewInterval": "15"
}
Response:
Once the above request is successfully process, you will get 200 OK response code and get the availability info (just like the below).
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.scheduleInformation)",
"value": [
{
"scheduleId": "alex@djayasee.onmicrosoft.com",
"availabilityView": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002222222222222222222200000000",
"scheduleItems": [
{
"isPrivate": false,
"status": "busy",
"subject": "Test Meeting",
"location": "Test Meeting",
"start": {
"dateTime": "2018-09-27T07:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2018-09-27T12:00:00.0000000",
"timeZone": "Pacific Standard Time"
}
}
],
"workingHours": {
"daysOfWeek": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"startTime": "09:00:00.0000000",
"endTime": "17:30:00.0000000",
"timeZone": {
"@odata.type": "#microsoft.graph.customTimeZone",
"bias": 480,
"name": "Customized Time Zone",
"standardOffset": {
"time": "02:00:00.0000000",
"dayOccurrence": 1,
"dayOfWeek": "sunday",
"month": 11,
"year": 0
},
"daylightOffset": {
"daylightBias": -60,
"time": "02:00:00.0000000",
"dayOccurrence": 2,
"dayOfWeek": "sunday",
"month": 3,
"year": 0
}
}
}
},
{
"scheduleId": "alexw@djayasee.OnMicrosoft.com",
"availabilityView": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002222222222222222222200000000",
"scheduleItems": [
{
"isPrivate": false,
"status": "busy",
"subject": "Test Meeting",
"location": "Test Meeting",
"start": {
"dateTime": "2018-09-27T07:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2018-09-27T12:00:00.0000000",
"timeZone": "Pacific Standard Time"
}
}
],
"workingHours": {
"daysOfWeek": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"startTime": "09:00:00.0000000",
"endTime": "17:30:00.0000000",
"timeZone": {
"@odata.type": "#microsoft.graph.customTimeZone",
"bias": 480,
"name": "Customized Time Zone",
"standardOffset": {
"time": "02:00:00.0000000",
"dayOccurrence": 1,
"dayOfWeek": "sunday",
"month": 11,
"year": 0
},
"daylightOffset": {
"daylightBias": -60,
"time": "02:00:00.0000000",
"dayOccurrence": 2,
"dayOfWeek": "sunday",
"month": 3,
"year": 0
}
}
}
}
]
}
Note:
As you aware, APIs under the /beta version in Microsoft Graph are in preview and are subject to change. Use of these APIs in production applications is not supported.
Hope this helps.
Comments
- Anonymous
October 04, 2018
Deva, Thanks for the API intro, sample/documentation. Its better than meetingtimes API.... Awesome Microsoft Dev!!- Anonymous
October 04, 2018
Thanks for the update. Glad the new API works as you expected :)
- Anonymous
- Anonymous
October 15, 2018
You might not know but why is this a POST for a get operation? Seems to fly in the face of https://docs.microsoft.com/en-us/azure/architecture/best-practices/api-design i.e. Organize the API around resources, Define operations in terms of HTTP methods- Anonymous
October 15, 2018
Good one Nikolai :)
- Anonymous