odata – 无法在Microsoft Graph Api中通过收件人过滤邮件 一个或多个无效节点

我正在尝试从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')

不是答案,但可能只是确认你的经历。

相关文章

文章浏览阅读2.2k次,点赞6次,收藏20次。在我们平时办公工作...
文章浏览阅读1k次。解决 Windows make command not found 和...
文章浏览阅读3.2k次,点赞2次,收藏6次。2、鼠标依次点击“计...
文章浏览阅读1.3w次。蓝光版属于高清版的一种。BD英文全名是...
文章浏览阅读974次,点赞7次,收藏8次。提供了更强大的功能,...
文章浏览阅读1.4w次,点赞5次,收藏22次。如果使用iterator的...