通过Microsoft Graph中的ID批量获取联系人

时间:2019-12-29 00:46:03

标签: microsoft-graph

我有一个ID列表,我想从Microsoft Graph中提取相应的联系人。我尝试使用https://graph.microsoft.com/v1.0/me/contacts?$filter=Id eq 'my-id-here' or Id eq 'other-id-here'进行过滤,但显示为

  

ErrorInvalidProperty属性'Id'不支持过滤。

我知道我可以通过调用https://graph.microsoft.com/v1.0/me/contacts/my-id-here进行查询,但是我想一次请求多个请求,以最大程度地减少往返行程。

1 个答案:

答案 0 :(得分:0)

您可以使用批处理来执行多个请求。对于每个请求,您需要提供一个请求ID,一个http方法和一个请求URL。样品要求:

URL: https://graph.microsoft.com/v1.0/$batch
Http Method: POST
Request Body: 

{
      "requests": [
        {
          "id": "1",
          "method": "GET",
          "url": "/me/contacts/firstId"
        },
        {
          "id": "2",
          "method": "GET",
          "url": "/me/contacts/secondId"
        }
     ]
}

图将发送如下响应:

{
    "responses": [
        {
            "id": "1",
            "status": 200,
            "headers": {
                ...
            },
            "body": {
                ...
            }
        },
        {
            "id": "2",
            "status": 200,
            "headers": {
                ...
            },
            "body": {
                ...
            }
        }
    ]
}

请确保您检查了请求的ID,因为可能不会按顺序返回请求(将请求发送到Graph)。 Microsoft有关批处理的文档提供了更多信息:here