Delta Query for user resource:如何仅获取已更改的属性

时间:2017-08-11 12:09:47

标签: azure-active-directory microsoft-graph change-tracking

我正在使用Microsoft Graph API增量查询来跟踪Azure AD中的更改。

我想只获取更改的属性。所以我设置了' ocp-aad-dq-include-only-changed-properties '标题值为' true '只获得更改的属性。但即使使用此标头后,我也会收到所有用户属性。

是否还有其他选项才能获得更改的属性?或者我是否需要使用任何其他标题?

下面给出了我正在尝试的操作的详细描述。

示例:

  • 初始增量请求

     GET https://graph.microsoft.com/v1.0/users/delta?$select=displayName,givenName,surname
    

    接头:

     ocp-aad-dq-include-only-changed-properties : true
    

    响应: 在最初的回复中,我收到了所有用户。

  • 更新' displayName'
  • DeltaLink请求属性

     GET https://graph.microsoft.com/v1.0/users/delta?$deltatoken=KhFiGlAZqewNAThmCVnNxqPu5gOBegrm1CaV
    

    接头:

     ocp-aad-dq-include-only-changed-properties : true
    

    这里我添加了' ocp-aad-dq-include-only-changed-properties'标题仍然是我获得用户的所有属性

    响应:

    {
        "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users",
        "@odata.deltaLink": "https://graph.microsoft.com/v1.0/users/delta?$deltatoken=o8xFasdpZ7QDP14TyDfj9AeibJxMlXAtgB0Nb",
        "value": [
            {
                "businessPhones": [],
                "displayName": "jhon4",
                "givenName": null,
                "jobTitle": null,
                "mail": null,
                "mobilePhone": null,
                "officeLocation": null,
                "preferredLanguage": null,
                "surname": null,
                "userPrincipalName": "jhon.smith@testdomain.onmicrosoft.com",
                "id": "942h93c9-af17-6sad2d98cc8"
            }
        ]
    }
    
  • 更新请求

     PATCH https://graph.microsoft.com/v1.0/users/jhon.smith@testdomain.onmicrosoft.com
    

    有效载荷:

    {
      "displayName": "jhon4",
    }
    

2 个答案:

答案 0 :(得分:1)

ocp-aad-dq-include-only-changed-properties标题是Azure AD Graph API的一项功能,Microsoft Graph不支持。

虽然它们非常相似,但这两个API有几个不同的功能差异(例如这个)。您可以在Microsoft Graph or the Azure AD Graph了解有关差异(以及整体计划)的更多信息。

答案 1 :(得分:0)

仅获取更改的属性,请使用以下标头: preferred:return = minimum