azure - 如何使用 Microsoft Graph API 更新 Azure AD 中的现有用户
问题描述
我在天蓝色广告中添加了一个用户。现在使用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
我正在传递userName
我想在 url 中更新的用户。如果这不正确,请告诉我。
我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"
}
}
}
请任何人告诉我如何更新现有的用户属性。谢谢
解决方案
很可能您没有使用 HTTP 方法PATCH
。我说这个是看着错误信息Specified HTTP method is not allowed for the request target.
如果您使用 以外的任何内容PATCH
,例如 aPOST
您最终会收到此错误消息。
您请求的 JSON 正文看起来不错。我尝试使用类似的 JSON 更新现有用户并从Microsoft Graph ExplorerPATCH
发送请求,它工作正常。
当我从 Microsoft Graph Explorer 使用 POST 或 PUT 调用时,我可以重现您看到的相同错误消息。
尽管将 POST 更改为 PATCH 后,具有相同 JSON 正文的相同请求 URL 工作正常。稍后再次查询用户(GET),我可以看到 displayName 已正确更新
推荐阅读
- csv - 在批量插入日期被检测为空
- node.js - 如何使用 rxjs 重试 http 请求直到满足条件
- go - 将行写入 Cloud Bigtable 时出现客户端错误
- sql-server - 将 id 逗号分隔为字符串并将表中的 ID 转换为 varchar 显示不正确的结果 我的查询已附加?
- rust - 在 rustdocs 中显示工具提示警告的标准是什么?
- c# - 从 ListView 中拖动一个项目并将一个图像放在面板上
- excel - 当值为yes时,vba从单元格复制到另一个工作表
- jbpm - JBPM7.13中如何访问HTML组件中的表单变量
- reactjs - react中的路由-链接到或href
- java - 如何从 Flyway 中的同一文件夹读取 Java 和 SQL 迁移