Несоответствие с $ filter / messages на графике - PullRequest
0 голосов
/ 13 февраля 2019

Мы столкнулись со странной проблемой (несоответствием), которая, по-видимому, связана с возможностью $ filter конечной точки выборки сообщений в Graph.

Мы отвечаем на запрос сообщений по их полю internetMessageId.Обычно это работает, но в некоторых случаях мы видели, что набор результатов пуст (без ошибок), и странным является то, что одно и то же сообщение может быть получено по его теме или адресу отправителя.

Этот вызов API возвращает пустой результат: https://graph.microsoft.com/v1.0/users/<user_principal_name>/messages?$filter=internetMessageId eq '<CAPJZXvF23=Ut7ksuJzCV+dQa6Pjy+3+uRU7j0v-GLydAi974Rg@mail.gmail.com>'

Этот вызов API работает: https://graph.microsoft.com/v1.0/users/<user_principal_name>/messages?$filter=sender/emailAddress/address eq '<sender_address>'

1 Ответ

0 голосов
/ 04 апреля 2019

Мы рассмотрели это, и проблема здесь в поведении приложения, а не службы.Оба запроса работают должным образом, при условии, что параметры URL-запроса правильно закодированы приложением в соответствии с методами кодирования HTTP.

В первом запросе в значении internetMessageId, указанном приложением, есть + символов.не кодирует перед отправкой запроса;служба декодирует их в пробелы, и поэтому запрос возвращает пустые результаты.

При правильной строке запроса возвращаются правильные результаты, как и ожидалось.

Мы рекомендуем приложениям всегда кодироватьURL запроса.

...