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

前端之家收集整理的这篇文章主要介绍了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')

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

猜你在找的Windows相关文章