如何使用Microsoft Graph API更新Azure AD中的现有用户

时间:2019-06-06 05:03:47

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

我已在azure广告中添加了一个用户。现在使用graph api,我想更新其显示名称或说出密码。我指的是本指南https://docs.microsoft.com/en-us/graph/api/user-update?view=graph-rest-1.0&tabs=cs

首先,我不确定我是否使用正确的URL更新用户,但是下面是我正在使用的内容:

 https://graph.microsoft.com/v1.0/users/john@<myorg>.onmicrosoft.com

我正在传递要在URL中添加的用户的userName。如果这不正确,请告诉我。

我在请求中包含了OAuth token作为承载令牌,并发布了以下json:

{
  "accountEnabled": true,

  "displayName": "john12"

}

从上面的json中,我想将显示名称从john更改为john12。但是我遇到了以下错误:

{
    "error": {
        "code": "Request_BadRequest",
        "message": "Specified HTTP method is not allowed for the request target.",
        "innerError": {
            "request-id": "536fd7c1-db46-4927-9732-169da778811c",
            "date": "2019-06-06T04:58:26"
        }
    }
}

任何人都可以,请让我知道如何更新现有的用户属性。谢谢

1 个答案:

答案 0 :(得分:1)

很可能您没有使用HTTP方法PATCH。我说的是看错误消息Specified HTTP method is not allowed for the request target.

如果您使用PATCH以外的其他任何字符,例如POST,最终将收到此错误消息。

您的请求的JSON主体看起来不错。我尝试使用类似的JSON更新现有用户,并从Microsoft Graph Explorer发送一个PATCH请求,效果很好。

当我使用Microsoft Graph Explorer中的POST或PUT调用时,我可以重现与您看到的相同的错误消息。

enter image description here

尽管将POST更改为PATCH后,具有相同JSON正文的相同请求URL可以正常工作。稍后再次查询用户(GET)时,我可以看到displayName已正确更新

enter image description here