2017-07-28 81 views
2

用例:我有兴趣跟踪用户消息和事件的更改。在Microsoft Graph上结合批量和增量查询(deltaLink)

使用增量查询(https://developer.microsoft.com/en-us/graph/docs/concepts/delta_query_overview)我可以实现这一点,但我需要发送两个针对图的请求:一个用于消息,一个用于事件。

批处理(https://developer.microsoft.com/en-us/graph/docs/concepts/json_batching,当前预览)允许我一次发送多个请求,并且已知问题(https://developer.microsoft.com/en-us/graph/docs/concepts/known_issues#json-batching)和OData规范都不表示不允许批量发送deltaLink。

这是受支持的方案还是我试图错误地使用批量或增量查询?

回答

1

目前我们在批量处理Delta请求时没有做任何特殊的处理。如果要发送多个增量查询,可以通过调用“/ 版本/$批量”在批量请求中发送它。 批处理响应将包含单独的响应,每个响应都有其自己的nextlink/deltalink。然后,客户可以解析此响应,提取下一个链接,用下一个链接创建一个新请求,并将其放入另一个批量请求或作为单个请求发送。 这里是使用间歇内的增量请求的例子:

POST /beta/$batch HTTP/1.1 
{ 
    "requests": [ 
    { 
     "url": "https://stackoverflow.com/users/delta?$select=displayName,givenName,surname", 
     "method": "GET", 
     "id": "1" 
    } 
    ] 
} 
Host : graph.microsoft.com 

参考:https://developer.microsoft.com/en-us/graph/graph-explorer?request= $批次&方法= POST &版本=测试