在Office 365中获取多个事件详细信息

时间:2018-03-12 11:41:31

标签: rest calendar office365 microsoft-graph office365api

我需要从办公室365获取与eventId相关的多个事件的信息。

有没有办法可以在一次REST调用中获取该信息? 我只想要特定的活动(仅基于 eventId' s

1 个答案:

答案 0 :(得分:1)

批量请求可能是您正在寻找的。

有关详细信息,请参阅json Batching Documentation

请记住,批处理目前仅限于每封邮件的20个请求(known issues

示例:

您需要向批处理终端发送POST消息

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

在体内你需要包括你的要求: 注意:请勿在url属性中包含服务器URL(https://graph.microsoft.com/v1.0/),否则请求将因“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
                ]
            }
        }
    ]
}