Я пытаюсь сделать простую заявку на бронирование номера в своем офисе. Пользователи могут выбрать период времени, просмотреть доступные комнаты и забронировать комнату (создать событие в своем календаре в этот период времени в этой комнате).
Чтобы узнать, какие комнаты доступны, я пытаюсь использовать REST API Microsoft Graph и, в частности, метод POST - getSchedule.
Пример запроса для getSchedule выглядит так
{
"schedules": ["[email protected]", "[email protected]"],
"startTime": {
"dateTime": "2019-03-15T09:00:00",
"timeZone": "Pacific Standard Time"
},
"endTime": {
"dateTime": "2019-03-15T18:00:00",
"timeZone": "Pacific Standard Time"
},
"availabilityViewInterval": "60"
}
Я помещаю все комнаты в офисе в список расписаний, а затем могу увидеть их доступность в ответе на основе представления доступности.
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.scheduleInformation)",
"value": [
{
"scheduleId": "[email protected]",
"availabilityView": "000220000",
"scheduleItems": [
{
"isPrivate": false,
"status": "busy",
"subject": "Let's go for lunch",
"location": "Harry's Bar",
"start": {
"dateTime": "2019-03-15T12:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-03-15T14:00:00.0000000",
"timeZone": "Pacific Standard Time"
}
}
],
"workingHours": {
"daysOfWeek": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"startTime": "08:00:00.0000000",
"endTime": "17:00:00.0000000",
"timeZone": {
"name": "Pacific Standard Time"
}
}
},
Однако мне не нужна другая информация, указанная в ответе. Я хочу видеть только scheduleId и availabilityView, потому что для загрузки ответа со многими комнатами в запросе расписаний требуется вечность.
Я искал доступные способы фильтрации ответа с помощью параметров в запросе POST по адресу: https://docs.microsoft.com/en-us/graph/query-parameters. Однако ни один из фильтров, которые я, кажется, применяю к своему адресу, похоже, не влияет на ответ.
я пробовал
https://graph.microsoft.com/v1.0/me/calendar/getschedule?$select=availabilityView
на запрос и другие подобные варианты безуспешно. Все они возвращают полный ответ JSON.