我正在尝试从Microsoft Graph API中收到由收件人过滤的邮件列表。我正在使用的url请求是:
https://graph.microsoft.com/beta/me/messages?$filter=toRecipients/any(r:r / emailAddress / address eq'[Email Address]’)
但我得到这是回应:
{ "error": { "code": "ErrorInvalidUrlQueryFilter","message": "The query filter contains one or more invalid nodes.","innerError": { "request-id": "7db712c3-e337-49d9-aa8d-4a5d350d8480","date": "2016-09-28T16:58:34" } } }
一个成功的请求应该是这样(有更多的数据,我省略)。
{ "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('99999999-9999-9999-9999-999999999999')/messages","@odata.nextLink": "https://graph.microsoft.com/beta/me/messages?$skip=10","value": [ { "toRecipients": [ { "emailAddress": { "name": "[Name]","address": "[Email Address]" } } ],} ] }
如果我删除过滤器,则该请求有效,并且我可以使用更简单的过滤器执行请求。
我的网址有问题,还是有其他方式提出请求?
根据这个
OData Basic Tutorial,你的过滤器看起来是正确的
它们具有以下过滤器示例,它也会查询复杂数据类型,因此您似乎有正确的方式。
serviceRoot/Me/Friends?$filter=Friends/any(f:f/FirstName eq 'Scott')
回到Microsoft Graph,下面的查询确实有效,所以我只能假设查询复杂的数据类型是坏的。
https://graph.microsoft.com/v1.0/me/messages?$filter=categories/any(c: c eq 'test')
不是答案,但可能只是确认你的经历。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。