Получение сведений о нескольких событиях в Office 365

Мне нужно получить информацию, связанную с eventId, из Office 365 для нескольких событий.

Есть ли способ получить эту информацию за один вызов REST? Мне нужны только определенные события (только на основе eventId)


person Himanshu    schedule 12.03.2018    source источник


Ответы (1)


Пакетный запрос может быть тем, что вы ищете.

Дополнительную информацию см. В документации по пакетной обработке json.

Имейте в виду, что пакетная обработка в настоящее время ограничена 20 запросами на сообщение (известные проблемы)

Пример:

Вам нужно будет отправить сообщение POST в конечную точку пакета.

https://graph.microsoft.com/v1.0/$batch

внутри тела вам нужно будет включить свои запросы: Примечание: не включайте URL-адрес сервера (https://graph.microsoft.com/v1.0/) в свойстве url, иначе запрос завершится ошибкой с "BadRequest - Invalid request Uri".

Тело запроса:

  {
      "requests": [
        {
          "id": "1",
          "method": "GET",
          "url": "/me/calendarview?startdatetime=2018-03-01T18:31:34.206Z&enddatetime=2018-03-12T18:31:34.206Z"
        },
                {
          "id": "2",
          "method": "GET",
          "url": "/me/events/{someEventId}"
        },
      ]
}

Когда сервер обработает все запросы, массив ответов, содержащий результаты, будет отправлен обратно:

Ответ сервера:

  {
    "responses": [
            {
        "id": "2",
        "status": 200,
        "headers": {
            "OData-Version": "4.0",
            "Content-Type": "application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8",
            "ETag": "W/\"Z+ICSvkiAfZX7XWQAZ6IH==\""
        },
        "body": {
           // the event object
        }
    },
        {
            "id": "1",
            "status": 200,
            "headers": {
                "OData-Version": "4.0",
                "Content-Type": "application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8"
            },
            "body": {
                "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('aUserID')/calendarView",
                "value": [
                  // list of  found event-objects
                ]
            }
        }
    ]
}
person Karlheinz Reinhardt    schedule 12.03.2018