Microsoft Graph webhook能否筛选监听用户手机号等属性变更
Microsoft Graph Webhook 监控用户属性变更问题解答
问题1:是否可以通过该机制在用户手机号变更时收到通知推送
可以。
- 你只需要创建针对
/users资源的updated类型变更订阅,当用户实体下的mobilePhone(工作手机号)、mail(主邮箱)、otherMails(备用邮箱)这类联系方式属性发生修改时,Graph服务会向你配置的webhook端点推送变更通知。 - 要注意默认推送的通知载荷不会直接携带变更后的属性值,你收到通知后,需要用通知里附带的用户资源ID,调用用户查询接口拉取对应用户的最新信息,才能拿到变更后的手机号/邮箱值。
问题2:是否支持配置筛选条件,实现仅监控用户某一项特定属性的变更
目前原生订阅能力不支持直接配置“仅单属性变更触发通知”的筛选规则。
- 现有订阅的
$filter参数仅支持按资源所属范围、变更操作类型做过滤,只要被订阅的用户实体发生任意属性更新,都会触发推送,没有内置的属性级触发过滤能力。 - 你可以通过接收端二次过滤的方式实现需求:
- 在本地维护一份你监控范围内用户的目标属性(比如手机号、指定邮箱字段)快照
- 每次收到用户更新通知后,拉取对应用户的最新目标属性值,和本地快照做比对
- 只有比对发现目标属性确实发生变化时,才触发内部的提醒逻辑,其余属性变更触发的通知直接忽略即可
- 如果要降低额外请求的开销,可以在创建订阅时搭配
$select参数,指定你只关心的几个属性字段,后续拉取用户详情时服务只会返回你选中的字段,减少不必要的数据传输。即使你开启includeResourceData配置让通知载荷直接携带资源内容,服务端同样不会做属性级过滤,还是需要你自行比对判断。
内容的提问来源于stack exchange,提问作者Wei Zhang
相关产品推荐
相关产品推荐

