Как отфильтровать ответ с параметрами запроса по методам POST в Microsoft Graph API? - PullRequest
1 голос
/ 19 июня 2019

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

Чтобы узнать, какие комнаты доступны, я пытаюсьиспользовать Microsoft Graph REST API и, в частности, метод POST - getSchedule .

Пример запроса getSchedule выглядит следующим образом:

{        
    "schedules": ["adelev@contoso.onmicrosoft.com", "meganb@contoso.onmicrosoft.com"],
    "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": "adelev@contoso.onmicrosoft.com",
            "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.

1 Ответ

2 голосов
/ 19 июня 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...