Microsoft graph api 与图形上的$filter/messages不一致

Microsoft graph api 与图形上的$filter/messages不一致,microsoft-graph-api,microsoft-graph-sdks,Microsoft Graph Api,Microsoft Graph Sdks,我们遇到了一个奇怪的问题(不一致),它似乎与图上fetchmessages端点的$filter功能有关 我们通过internetMessageId字段回复对消息的查询。 这通常是可行的,但在某些情况下,我们看到结果集是空的(没有错误),奇怪的是相同的消息可以通过其主题或发送者的地址获取 此API调用返回一个空结果: https://graph.microsoft.com/v1.0/users//messages?$filter=internetMessageId eq' 此API调用有效: ht

我们遇到了一个奇怪的问题(不一致),它似乎与图上fetchmessages端点的$filter功能有关

我们通过internetMessageId字段回复对消息的查询。 这通常是可行的,但在某些情况下,我们看到结果集是空的(没有错误),奇怪的是相同的消息可以通过其主题或发送者的地址获取

此API调用返回一个空结果:
https://graph.microsoft.com/v1.0/users//messages?$filter=internetMessageId eq'

此API调用有效:
https://graph.microsoft.com/v1.0/users//messages?$filter=sender/emailAddress/address eq'

我们对此进行了研究,这里的问题在于应用程序的行为,而不是服务。 如果应用程序按照HTTP编码实践对URL查询参数进行了正确编码,则这两个查询都能按预期工作

在第一个请求中,
internetMessageId
值中有
+
字符,应用程序在发送请求之前不会对这些字符进行编码;服务将它们解码为空格,这就是查询返回空结果的原因

当查询字符串正确输入时,将按预期返回正确的结果

我们建议应用程序始终对请求URL进行编码