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}'” 我的租户

我正在尝试使用C#和
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();