Microsoft Graph-无效的过滤子句-sessionId

问题描述

我正在尝试通过sessionId进行过滤以获取邮件邮件回复,但每次都会收到错误消息:

 {
    "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中尝试完全相同的路径时,根本没有问题。

解决方法

由于BASE64字符串不是URI安全的,因此您发送的代码很可能会在发送URL时使用该代码。例如,除非在值浏览器中像这样转义

,否则您的请求在Graph Explorer中对我不起作用(我得到您指出的确切错误)
https://graph.microsoft.com/v1.0/me/messages?$filter=conversationId eq 'AAQkADJkZTNiN2ZlLTg2M2QtNGZjMC1hNDUxLTdlNjgzZDVjZDljMAAQAKVNpsZfVhlEtPFltSQuNJ8%3D'

因此,您需要研究应用程序实际通过有线发送的内容。