如何使用Microsoft Graph删除属性值

时间:2016-06-22 15:00:22

标签: office365 microsoft-graph office365-restapi

我想删除已存储的属性 例如,因为有些用户拥有'姓氏',

GET https://graph.microsoft.com/v1.0/users/test01@test.onmicrosoft.com?$select=id,userPrincipalName,surname  

response:
{  
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(id,userPrincipalName,surname)/$entity",  
    "id": "8e05e09b-c195-4404-87c1-2325767b66cd",  
    "userPrincipalName": "test01@test.onmicrosoft.com",  
    "surname": "ABCDEF"  
}  

在这种情况下,我想删除'姓氏' 更新为null时也不会删除,值不会更改。

PATCH https://graph.microsoft.com/v1.0/users/test01@test.onmicrosoft.com
{
    "surname": null
}

在“”中更新是错误的。

PATCH https://graph.microsoft.com/v1.0/users/test01@test.onmicrosoft.com
{
    "surname": ""
}

response:
{
    "error": {
        "code": "Request_BadRequest",
        "message": "Invalid value specified for property 'surname' of resource 'User'.",
        "innerError": {
            "request-id": "159ef469-f527-4768-b1bd-99ffc3446e5c",
            "date": "2016-06-22T14:35:18"
        }
    }
}

请告诉我如何删除。

2 个答案:

答案 0 :(得分:0)

目前,Microsoft Graph REST API无法删除 Surname 或将此属性设置为 null

作为一种解决方法,我们可以创建一个不指定此属性的新用户。以下是REST供您参考:

POST:https://graph.microsoft.com/v1.0/users
authorization: bearer {token}
{


"accountEnabled": true,

"displayName":"displayName",
"mailNickname":"mailNickname",

"passwordProfile":

{"forceChangePasswordNextSignIn":false,"password":"Password@-1234"},

  "businessPhones": [
    "businessPhones-value"
  ],
"userPrincipalName":"test@tenant.onmicrosoft.com"

}

如果您希望Microsoft Graph支持此功能,您可以提交here的反馈。

答案 1 :(得分:0)

截至2016年7月28日,Microsoft Graph现在尊重通过传递' null'删除属性值,所以

PATCH https://graph.microsoft.com/v1.0/users/test01@test.onmicrosoft.com
{
    "surname": null
}

应该有用。