c# - 如何使用 .Net Client SDK 从 Microsoft Graph 获取我所属的管理员角色?

标签 c# microsoft-graph-api microsoft-graph-sdks

我知道如何使用下面的其余查询按类型过滤成员目录角色:

https://graph.microsoft.com/v1.0/me/memberOf/$/microsoft.graph.directoryRole

因此,MS Graph api 的响应仅包含 directoryRole 对象。不确定如何使用 MS Graph .Net 客户端 SDK 来完成此操作,因为我们没有在实际 Rest 请求中指定任何 OData 关键字,例如 SelectFilter

请注意,我不想只调用 memberOf 并过滤客户端内存中的 directoryRole 类型响应,我希望此过滤器成为查询的一部分,如下所示上面的 URL,因此 memberOf 响应仅包含 directoryRole

最佳答案

对于 SDK,过滤是应用于对象的函数。例如:

var users = await graphClient
    .Users
    .Request()
    .Filter("startswith(displayName,'A')")
    .GetAsync();

不幸的是,这对你没有帮助,因为 /memberOf不支持$filter 。所以你需要在客户端进行过滤。

如果您正在检查特定的 directoryRole ,你可以从另一个方向来看这个。 /members 端点确实支持按成员过滤id :

v1.0/directoryRoles/{role-id}/members?$filter=id eq '{user-id}'

这里需要注意的是/members 支持按 userPrincipalName 进行过滤,仅由实际id

关于c# - 如何使用 .Net Client SDK 从 Microsoft Graph 获取我所属的管理员角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52208815/

相关文章:

c# - 这个参数类型约束是什么意思?

c# - rabbitmq 消费者成为生产者

c# - 根据文本框值过滤数据表/数据集

c# - Microsoft.Graph.AttendeeType 未正确枚举

c# - 使用 C# 和 Microsoft Graph SDK 从日历获取事件

c# - 我可以找出我正在使用的方法的名称吗?

c# - 微软图: Invalid batch payload format

azure-active-directory - 用户的 Microsoft Graph Api $count 响应不一致

microsoft-graph-api - C# graph SDK - 序列化批量请求的结果

microsoft-graph-api - 使用 Microsoft Graph API 创建的日历事件。响应中返回的 webLink 无效