C# 如何对用户请求应用相等筛选器?
我正在尝试使用C#和C# 如何对用户请求应用相等筛选器?,c#,azure,microsoft-graph-api,graphserviceclient,C#,Azure,Microsoft Graph Api,Graphserviceclient,我正在尝试使用C#和GraphServiceClient调用MS-Graph-Users API。我正在尝试按邮件进行筛选,但无论我尝试何种格式,它都会因无效查询而被拒绝。我已经尝试了在InterWeb上找到的所有示例,但似乎找不到一个使用服务客户机按相等性筛选用户的示例 我在过滤器中尝试了以下操作 $“eq('Mail',{email}')”, $“相等('Mail',{email}')”, $“等于('Mail','{email}')”, 和$“'Mail'eq'{email}'” 我的租户
GraphServiceClient
调用MS-Graph-Users API。我正在尝试按邮件进行筛选
,但无论我尝试何种格式,它都会因无效查询而被拒绝。我已经尝试了在InterWeb上找到的所有示例,但似乎找不到一个使用服务客户机按相等性筛选用户的示例
我在过滤器中尝试了以下操作
$“eq('Mail',{email}')”
,
$“相等('Mail',{email}')”
,
$“等于('Mail','{email}')”
,
和$“'Mail'eq'{email}'”
我的租户是发行人,但我也需要能够搜索受邀请的用户
var filter=$“标识/any(id:id/Issuer eq'{TenantName}'和id/issuerasignedid eq'{emailAddress}”)代码>
删除TenantName
上的相等性检查将使其成为无效筛选器
我在这里做错了什么;可能吗?这是我的代码中的过滤器,供您参考:
var response = await graphClient.Users.Request().Filter("mail eq 'test@mail.com'").GetAsync();
第二个选项是直接在URL中传递电子邮件:
https://graph.microsoft.com/v1.0/users/test@mail.com
代码:
我试过了,但它无法通过实际的电子邮件找到外部用户:“资源”some@example.com'不存在或其查询的引用属性对象之一不存在。'这不应用任何筛选。然而,给它一个主体名称是有效的,尽管这不太理想,因为必须将外部电子邮件处理成丑陋的主体名称值<代码>一些示例#EXT#@my.domain.com
,例如。好的!驼峰案例道具名称不带引号-非常好。
https://graph.microsoft.com/v1.0/users/test@mail.com
var user = await graphClient.Users["test@mail.com"].Request().GetAsync();