Как отфильтровать ответ с параметрами запроса в методах POST в Microsoft Graph API?

Я пытаюсь сделать простую заявку на бронирование номера в своем офисе. Пользователи могут выбрать период времени, просмотреть доступные комнаты и забронировать комнату (создать событие в своем календаре в этот период времени в этой комнате).

Чтобы узнать, какие комнаты доступны, я пытаюсь использовать 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.


person Bob Duncan    schedule 18.06.2019    source источник


Ответы (1)


Это ограничение протокола OData. Запросы данных возможны только по запросам GET, как это описано здесь.
Кроме того, чтобы попросить меньше комнат для начала. более короткий период или больший интервал, я не думаю, что сегодня есть способ получить меньше данных.

person baywet    schedule 19.06.2019
comment
вы знаете, как мы можем получить расписание для нескольких календарей, по умолчанию он возвращает только расписание календаря по умолчанию - person Abhay Sehgal; 26.08.2020
comment
Задайте, пожалуйста, это отдельный вопрос. - person baywet; 26.08.2020
comment
Я задал это как отдельный вопрос - stackoverflow.com/questions/63556249/, но не получил никакого ответа. Не могли бы вы помочь - person Abhay Sehgal; 26.08.2020