Как я могу получить полезный ссылочный идентификатор сообщения электронной почты из заголовков для использования в запросе Microsoft Graph? - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь использовать идентификатор сообщения ссылки в заголовках сообщений переадресованного сообщения в Office 365, чтобы затем найти исходное сообщение с этим идентификатором.

Идентификатор ссылок в заголовках перенаправленной электронной почты будет отображать что-то вроде того, что показано ниже. Примечание. Я получаю эти заголовки из Microsoft Graph, добавляя &$select=internetMessageHeaders к моему запросу, используя отправителя / тему, чтобы найти перенаправленное электронное письмо.

{
  "name": "References",
  "value": "<CAOLK2SAEzvs=-6Rs5cTbgORNivQVK2AvMJDJT8o+ghx-XhCn7w@mail.gmail.com>"
}

Однако, если я возьму это и использую его в запросе вроде https://graph.microsoft.com/v1.0/me/messages?$filter=internetMessageId eq '<CAOLK2SAEzvs=-6Rs5cTbgORNivQVK2AvMJDJT8o+ghx-XhCn7w@mail.gmail.com>'

Я не получаю никаких результатов.

Если я выискиваю исходное письмо в Microsoft Graph, используя отправителя и тему, я вижу следующее для поля internetMessageId для исходного письма:

{
  "name": "Message-ID",
  "value": "<CAOLK2SC6s9Me05kYRqeuEHKK8DrQbXx34ScT0AzGOFFLMdRapg@mail.gmail.com>"
}

Есть ли у кого-нибудь идеи о том, что делает Office 365 или Microsoft Graph, чтобы изменить CAOLK2SAEzvs=-6Rs5cTbgORNivQVK2AvMJDJT8o+ghx-XhCn7w на CAOLK2SC6s9Me05kYRqeuEHKK8DrQbXx34ScT0AzGOFFLMdRapg? Это похоже на кодировку, но я не смог ее воспроизвести.

В конечном счете, я хотел бы иметь возможность преобразовать то, что я получаю в заголовке идентификатора ссылок, чтобы я мог развернуться и использовать этот идентификатор, чтобы найти оригинальное письмо с помощью Microsoft Graph.

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Я обнаружил проблему. В моем тестовом идентификаторе сообщения у меня есть символы = и +

Эти символы должны быть URL-адресами, закодированными в% 3D и% 2B перед использованием в запросе $ filter. Когда они закодированы в URL, я могу найти оригинальное письмо, используя MS Graph.

0 голосов
/ 12 сентября 2018

id - это хэшированное значение, которое, помимо прочего, включает путь / папку, в которой находится сообщение. Так что, если вы, например, переместите сообщение (скажем, из папки «Входящие» в архив), вы должны ожидать id изменить.

Для отслеживания сообщения, независимо от его местоположения, вместо него следует использовать свойство internetMessageId ($select=internetMessageId).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...