Microsoft Graph Webhooks对/ users的订阅 - 不能以当前格式使用

时间:2018-05-06 08:36:13

标签: microsoft-graph

因此,2017年加入Ignite后,我对Microsoft Graphhooks中的新功能以及与Azure功能的绑定感到非常兴奋。

最近我有机会亲自探索这个。 我从身份管理的角度来看这个 - 我真的想看看我们可以对Graph Webhooks和Azure功能做出什么样的用户入职/变更​​管理。所以我开始查看beta端点和可用于“/ users”的Webhooks

让我印象深刻的第一件事是,在测试版中,只有“更新”或“删除”才是有效的变更类型。我真的想“创建” - 因为那时大部分工作都会在用户上完成(例如生成一些独特的属性值)

好的,我想过,只是试着看“/ users”,只有changetype =“updated”。我创建了一个订阅和一个基本的Azure函数来处理请求。更新了Azure AD中的用户(刚刚更改了“姓氏”属性),并确定已将触发器发送到我的Azure功能

现在出现了我最大的问题 - 这在目前的形式下确实无法使用。

  1. 他似乎对所有更改/用户做出反应,我猜测触发响应可能包含多个用户。 最好是为/ users中的每个对象更改个别触发器,即使它们同时被更改

  2. 查看此处发送的实际信息存在大问题。 我得到了用户的id改变(好,但也有预料) 我得到了organizationId(ok ..) 我得到了eventTime(好) 我得到一个sequenceNumber(不确定这是什么?) 我得到subscriptionExpirationDateTime(确定很好) 我获得了webhook的subscriptionId(确定很好)

  3. ...但是哪里有关于哪些数据被更改的信息?无处可寻找用户的哪些属性被更改(我的情况是“姓氏”)。这使得触发器对于“/ users”完全无法使用,我真的不能想到任何可以使用此功能的人吗? 当然我知道对象已被更改,但我不知道发生了什么,以及更改是否与我的功能相关

    请告诉我有计划在触发响应中包含实际更改吗?

    编辑:好的,是的,这是更多来自ms图形的实际开发人员的功能请求 - 将寻找一个更好的地方来得到这个答案

1 个答案:

答案 0 :(得分:0)

请在此处提供功能请求(例如:通知中更丰富的数据,“已创建”更改类型):https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback?category_id=101632

以下是其他问题的答案。

  1. Microsoft图表不保证在发送通知时订购事件(例如:您的webhook端点可能已关闭,我们将重试最多延迟4小时的事件,如果停机时间超过4小时,则会重新启动)。因此,“SequenceNumber”可用于跟踪事件是否按顺序排列,因此按原样使用,或者是否出现故障并需要查询Graph以获取当前状态。
  2. 目前,我们提供已更改的对象和关联(成员,经理)的ID,是否删除或更新了对象/关联,但未提供已更改的其他属性的详细信息。在当前形式中,webhook最好与delta查询一起使用。开发人员可以创建订阅并仅在收到通知时执行增量查询,而不是每隔X分钟轮询增量查询,并且在大多数情况下接收零更改。如果有许多租户需要进行调查,这将有助于扩展。
  3. Delta Query:https://developer.microsoft.com/en-us/graph/docs/concepts/delta_query_overview

    另外,仅供参考,用户/组的webhook通知现在也可在V1.0中使用