Microsoft Graph - 无效的过滤器子句 - conversationId

Microsoft Graph - Invalid filter clause - conversationId

我正在尝试按 conversationId 进行过滤以获取邮件的消息和回复,但每次都出现错误:

 {
    "error": {
        "code": "BadRequest",
        "message": "Invalid filter clause",
        "innerError": {
            "date": "2020-08-24T23:12:43",
            "request-id": "9d1c128a-d97c-4fc4-97b4-5264e566bef8"
        }
    }
}

请求路径输出如下:

https://graph.microsoft.com/v1.0/me/messages?$filter=conversationId eq 'AAQkADJkZTNiN2ZlLTg2M2QtNGZjMC1hNDUxLTdlNjgzZDVjZDljMAAQAKVNpsZfVhlEtPFltSQuNJ8='

在 Graph Explorer 中尝试完全相同的路径时,完全没有问题。

很可能您使用的代码在发送时正在修改 URL,因为 BASE64 字符串不是 URI 安全的。例如,您的请求在 Graph Explorer 中对我不起作用(我得到了您陈述的确切错误),除非该值被转义为

https://graph.microsoft.com/v1.0/me/messages?$filter=conversationId eq 'AAQkADJkZTNiN2ZlLTg2M2QtNGZjMC1hNDUxLTdlNjgzZDVjZDljMAAQAKVNpsZfVhlEtPFltSQuNJ8%3D'

因此您需要查看您的应用实际上通过网络发送的内容。