Azure active directory MSGraph删除组推送通知:删除事件的更改类型错误
当我在Azure AD portal中删除一个组,并将推送通知changeType设置为'updated,deleted',推送通知将在10-15秒内收到,并具有我删除的组的正确资源ID,但changeType='updated'。请参阅下面收到的实际事件:Azure active directory MSGraph删除组推送通知:删除事件的更改类型错误,azure-active-directory,microsoft-graph-api,azure-ad-graph-api,Azure Active Directory,Microsoft Graph Api,Azure Ad Graph Api,当我在Azure AD portal中删除一个组,并将推送通知changeType设置为'updated,deleted',推送通知将在10-15秒内收到,并具有我删除的组的正确资源ID,但changeType='updated'。请参阅下面收到的实际事件: { "value":[ { "changeType":"updated", "clientState":"<<redacted>>", "res
{
"value":[
{
"changeType":"updated",
"clientState":"<<redacted>>",
"resource":"Groups/f0a5993b-5c2d-49cc-bb2f-8cb0060fef8e",
"resourceData":{
"@odata.type":"#Microsoft.Graph.Group",
"@odata.id":"Groups/f0a5993b-5c2d-49cc-bb2f-8cb0060fef8e",
"id":"f0a5993b-5c2d-49cc-bb2f-8cb0060fef8e",
"organizationId":"<<redacted>>",
"eventTime":"2018-11-22T01:47:00.2455823Z",
"sequenceNumber":636784480202455800
},
"subscriptionExpirationDateTime":"2018-11-24T18:13:08.914+00:00",
"subscriptionId":"d850b120-19bb-4291-b9c4-845ea04dd38d",
"tenantId":"<<readacted>>"
}
]
}
{
“价值”:[
{
“变更类型”:“已更新”,
“客户状态”:“客户状态”,
“资源”:“组/f0a5993b-5c2d-49cc-bb2f-8cb0060fef8e”,
“资源数据”:{
“@odata.type”:“#Microsoft.Graph.Group”,
“@odata.id”:“组/f0a5993b-5c2d-49cc-bb2f-8cb0060fef8e”,
“id”:“f0a5993b-5c2d-49cc-bb2f-8cb0060fef8e”,
“organizationId”:“”,
“事件时间”:“2018-11-22T01:47:00.2455823Z”,
“序列号”:63678448002455800
},
“subscriptionExpirationDateTime”:“2018-11-24T18:13:08.914+00:00”,
“订阅ID”:“d850b120-19bb-4291-b9c4-845ea04dd38d”,
“租户”:”
}
]
}
处理此请求后,无法确定当前组资源是否已被删除。Graph API团队中是否有人可以调查/解决此问题?您删除的组很可能是一个用户。删除Office 365组时,这些组将被软删除,这表示为
更新的
事件,而不是已删除的
更改类型。如果订阅用户
的更新、删除
,则删除用户时会注意到相同的行为,这也支持软删除
(可以删除软删除的Office 365组。相反,其他组类型会立即被永久删除,并且无法恢复。)
如果与更改通知一起使用(典型的模式是使用updated
change事件作为触发器,通过delta查询轮询更多更改),则组的软删除如下所示:
GEThttps://graph.microsoft.com/v1.0/groups/delta?$deltatoken=1yN。。。
{
“@odata.context”:”https://graph.microsoft.com/v1.0/$metadata#组“,
“@odata.deltaLink”:”https://graph.microsoft.com/v1.0/groups/delta?$deltatoken=1yN…”,
“价值”:[
{
“id”:“0ed62d01-7c00-4866-9220-74fdd034eea7”,
“@删除”:{
“原因”:“已更改”
}
}
]
}
当软删除的Office 365组被永久删除时(自然删除,30天后删除,或手动删除,因为有人删除),您将在订阅中获得预期的已删除更改类型:
{
“价值”:[
{
“变更类型”:“已删除”,
“资源”:“组/0ed62d01-7c00-4866-9220-74fdd034eea7”,
“资源数据”:。。。
...
}
]
}
在组的增量查询中,组的永久删除将表示为:
GEThttps://graph.microsoft.com/v1.0/groups/delta?$deltatoken=1yN。。。
{
“@odata.context”:”https://graph.microsoft.com/v1.0/$metadata#组“,
“@odata.deltaLink”:”https://graph.microsoft.com/v1.0/groups/delta?$deltatoken=1yN…”,
“价值”:[
{
“id”:“0ed62d01-7c00-4866-9220-74fdd034eea7”,
“@删除”:{
“原因”:“已删除”
}
}
]
}
其他信息
Office 365组可以通过其groupTypes
属性在Microsoft Graph中进行标识,如果是Office 365组,则该属性将包含字符串Unified
GEThttps://graph.microsoft.com/v1.0/groups/{id}?$select=id,displayName,groupTypes
{
“@odata.context”:”https://graph.microsoft.com/v1.0/$metadata#组(id、组类型)/$entity“,
“id”:“0ed62d01-7c00-4866-9220-74fdd034eea7”,
“displayName”:“我的Office 365组”,
“组类型”:[
“统一”
]
}
软删除的组可以与Microsoft Graph一起列出:
GEThttps://graph.microsoft.com/v1.0/directory/deletedItems/microsoft.graph.group
要使用Microsoft Graph永久删除软删除对象,请执行以下操作:
删除https://graph.microsoft.com/v1.0/directory/deletedItems/{id}
您删除的组很可能是一个用户。删除Office 365组时,这些组将被软删除,这表示为更新的
事件,而不是已删除的
更改类型。如果订阅用户
的更新、删除
,则删除用户时会注意到相同的行为,这也支持软删除
(可以删除软删除的Office 365组。相反,其他组类型会立即被永久删除,并且无法恢复。)
如果与更改通知一起使用(典型的模式是使用updated
change事件作为触发器,通过delta查询轮询更多更改),则组的软删除如下所示:
GEThttps://graph.microsoft.com/v1.0/groups/delta?$deltatoken=1yN。。。
{
“@odata.context”:”https://graph.microsoft.com/v1.0/$metadata#组“,
“@odata.deltaLink”:”https://graph.microsoft.com/v1.0/groups/delta?$deltatoken=1yN…”,
“价值”:[
{
“id”:“0ed62d01-7c00-4866-9220-74fdd034eea7”,
“@删除”:{
“原因”:“已更改”
}
}
]
}
当软删除的Office 365组被永久删除时(自然删除,30天后删除,或手动删除,因为有人删除),您将在订阅中获得预期的已删除更改类型:
{
“价值”:[
{
“变更类型”:“已删除”,
“资源”:“组/0ed62d01-7c00-4866-9220-74fdd034eea7”,
“资源数据”:。。。
...
}
]
}
在三角洲