我已经在dotNet中创建了一个API项目,以便使用SDK从microsoft.graph中获取一些数据。
我设法获取了所有用户和所有组,并看到了每个用户的角色(例如,计费管理员/应用程序管理员等),但是我找不到通过SDK向用户或组更新或更改角色的方法/ API。
我想现在API / SDK不支持此选项。我说的对吗?
答案 0 :(得分:2)
使用以下方式将成员添加到目录角色is support by Microsoft Graph:
POST /directoryRoles/{id}/members/$ref
请注意,此调用需要应用程序范围。
答案 1 :(得分:0)
您可以使用 role-id 或 role-templateid 向目录角色发出 HTTP 请求以添加用户:
POST /directoryRoles/{role-id}/members/$ref
POST /directoryRoles/roleTemplateId={roleTemplateId}/members/$ref
示例:
POST https://graph.microsoft.com/v1.0/directoryRoles/fe8f10bf-c9c2-47eb-95cb-c26cc85f1830/members/$ref
or
POST https://graph.microsoft.com/v1.0/directoryRoles/roleTemplateId=88d8e3e3-8f55-4a1e-953a-9b9898b8876b/members/$ref
Content-type: application/json
{
"@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/UserObjectID"
}
您可以使用 C# 将用户添加到目录角色:
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var directoryObject = new DirectoryObject
{
Id = "bb165b45-151c-4cf6-9911-cd7188912848"
};
await graphClient.DirectoryRoles["{directoryRole-id}"].Members.References
.Request()
.AddAsync(directoryObject);
参考: