Odata Outlook REST API$filter与';等式';和';东北';

Odata Outlook REST API$filter与';等式';和';东北';,odata,outlook-restapi,Odata,Outlook Restapi,我正在尝试创建一个查询,该查询获取Outlook联系人,但不包括电子邮件地址包含特定域(例如“abc.com”)的联系人。以下是我正在运行的查询: ?$format=json&$filter=EmailAddresses/any(e:%20e/Address%20ne%20'abc.com') 但回复回来时,我好像在使用eq——它返回的联系人中只有“abc.com”的电子邮件 我尝试用all切换出any,因为我了解到在尝试排除项目时使用all,但当我使用all时,我得到: 400错误请求 {

我正在尝试创建一个查询,该查询获取Outlook联系人,但不包括电子邮件地址包含特定域(例如“abc.com”)的联系人。以下是我正在运行的查询:

?$format=json&$filter=EmailAddresses/any(e:%20e/Address%20ne%20'abc.com')

但回复回来时,我好像在使用
eq
——它返回的联系人中只有“abc.com”的电子邮件

我尝试用
all
切换出
any
,因为我了解到在尝试排除项目时使用
all
,但当我使用
all
时,我得到: 400错误请求

{
    "error": {
        "code": "ErrorInvalidUrlQueryFilter",
        "message": "The query filter contains one or more invalid nodes."
    }
}

我一直在使用测试来测试我的查询。我的问题不对吗?我是否错误地使用了筛选器?

正如您在中所看到的,无法使用EmailAddress筛选联系人(可筛选?否)。这就是请求没有返回有效数据的原因。

我不知道为什么会是这样,但我可以在图形浏览器中通过类似
https://graph.microsoft.com/v1.0/me/contacts?$filter=emailAddresses/any(a:a/address ne'@example.com')
。这将返回带有电子邮件地址的联系人me@example.com,但不是test@test.com. 改为
eq
也没什么区别。API声称你可以用它来按域查询电子邮件,但它看起来就像是在检查电子邮件地址是否等于'@abc.com',而你可能与那封(无效的)电子邮件没有任何联系,所以它基本上不会过滤任何令人不快的邮件。感谢您的回复,当文档中的答案正确时,我好像掉进了谷歌兔子洞。OP的问题来自文档!他们声称你应该能够做到OP所要求的: