我正在尝试对一堆用户配置文件(displayName,邮件等)执行批量更新,而没有用户凭据,而是通过以下方式在Azure Active Directory和DevOps中具有最高特权Azure DevOps REST API。由于DevOps与AAD保持不同步。
看来用户的Update方法只能map users to a new identity。
这是我到目前为止尝试过的:
private Task<HttpResponseMessage> PatchVstsUser(vssps.dev.azure.com.VstsUser user)
{
var patchUser = new
{
displayName = user.Name,
mailAddress = user.Mail,
originId = user.AadId
};
return _devOpsGraphApi.PatchAsync($"users/{user.GraphDescriptor}?api-version=5.1-preview.1", patchUser);
}
具有200个响应代码的API响应,但实际显示名称未更新。
如何更新e。 G。使用Azure DevOps Rest API的用户的显示名称?
答案 0 :(得分:0)
从“网络”选项卡中,我能够从Azure devops中获取更新用户的api。
这是请求:
Request URL: https://####.###.azure.com/_apis/User/User
Request Method: PATCH
Status Code: 200
Remote Address: ##.###.#.###:###
Referrer Policy: no-referrer-when-downgrade
类似地,您可以为您的组织获取它。
请注意,这不是更新用户的推荐方法。假设您的azure devops帐户已标记到Azure Active目录,那么您应该能够使用下面的url使用用户图API来更新用户配置文件。
PATCH /users/{id | userPrincipalName}
https://docs.microsoft.com/en-us/graph/api/user-update?view=graph-rest-1.0&tabs=cs
希望有帮助。