使用别名地址过滤用户 - MS Graph

Filter user by using alias address - MS Graph

我们如何使用别名邮件地址而不是实际用户主体名称来过滤用户。喜欢下面

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

 var user = await graphClient.Users
.Request()
.Filter("UserPrincipalName eq 'aaa@aaa.com'")
.GetAsync();

现在,我在使用别名地址时遇到“未找到”错误。

感谢任何帮助。

UserPrincipalName 的一般格式是 alias@domain,其中域必须存在于租户的已验证域集合中。

当电子邮件地址填充为备用电子邮件时搜索用户:

otherMails 有用户的附加电子邮件地址列表;例如:["bob@contoso.com", "Robert@fabrikam.com"].

.Filter($"otherMails/any(id:id eq 'user@example.com'")

当电子邮件地址填充为登录名时搜索用户:

.Filter($"identities/any(id:id/issuerAssignedId eq 'user@example.com' and id/issuer eq 'contoso.onmicrosoft.com')")

有关个人电子邮件地址的详细信息,请参阅 here


如果您指的别名地址是带有SMTP的地址,例如:["SMTP: bob@contoso.com", "smtp: bob@sales.contoso.com"]。您可以使用 proxyAddresses,“smtp”是必需的。

https://graph.microsoft.com/v1.0/users?$filter=proxyAddresses/any(c:c eq 'smtp:aaa@aaa.com') 

.Filter($"proxyAddresses/any(c:c eq 'smtp:aaa@aaa.com'")