Odata Outlook REST API$filter与';等式';和';东北';
我正在尝试创建一个查询,该查询获取Outlook联系人,但不包括电子邮件地址包含特定域(例如“abc.com”)的联系人。以下是我正在运行的查询: ?$format=json&$filter=EmailAddresses/any(e:%20e/Address%20ne%20'abc.com') 但回复回来时,我好像在使用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错误请求 {
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所要求的: