You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft Graph API是否支持检索组成员增删历史及操作时间?

如何用Microsoft Graph API追踪组成员的新增/删除及操作时间

要追踪组成员的变更操作及对应的时间,你可以通过以下几种方式实现:

1. 查询目录审核日志

Azure AD会记录所有组的成员变更操作(添加/删除),通过Graph API的审核日志接口可以直接获取这些操作的详细信息,包括操作时间、操作人、变更的成员等。

示例查询

GET https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?$filter=targetResources/any(t: t/id eq '{你的组ID}') and activityDisplayName in ('Add member to group','Remove member from group')

返回结果中:

  • activityDateTime字段就是操作发生的具体时间
  • targetResources数组里包含目标组和被变更的成员信息
  • initiatedBy字段记录了执行该操作的用户或应用

注意:审核日志默认保留90天,如需更长时间可配置Azure AD日志存档。

2. 使用组成员的Delta查询

Delta查询是Graph API专门用于追踪资源增量变更的机制,无需手动对比两次查询结果,就能获取自上次查询以来新增或删除的组成员。

初始查询

GET https://graph.microsoft.com/v1.0/groups/{你的组ID}/members/delta

首次查询会返回当前所有成员,同时返回@odata.deltaLink链接。后续只需调用这个delta链接,就能获取自上次查询后的变更:

  • 新增的成员会直接出现在结果列表中
  • 删除的成员会带有@removed属性(例如"@removed": {"reason": "deleted"})

注意:Delta查询本身不会返回操作时间,如果需要精确时间,建议结合审核日志使用。

3. 订阅组成员变更通知

通过Graph API的订阅功能,可以设置当目标组的成员发生变更时,主动向你的服务端点推送通知,实现实时感知变更。

示例订阅请求

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json

{
  "changeType": "created,deleted",
  "notificationUrl": "https://你的服务端点/notify",
  "resource": "groups/{你的组ID}/members",
  "expirationDateTime": "2024-12-31T00:00:00Z",
  "clientState": "任意随机字符串"
}

收到通知后,你可以根据通知中的信息去查询审核日志,获取该变更的具体操作时间。

内容的提问来源于stack exchange,提问作者seung7642

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 11:01:15