Microsoft Graph API - найти сообщение по интернет-сообщению
Мне нужно найти разговор для обмена электронной почтой между двумя пользователями - Джоном и Гарри. По моему сценарию:
- Джон отправляет сообщение Гарри.
- У меня есть метаданные электронной почты из электронной почты, которую Джон отправил, например,verstationId, internetMessageId, messageId (специфичный для пользователя m $ graph).
- Теперь я хотел бы ответить от Гарри. К сожалению, разговор о Гарри отличается от разговора с Джоном, поэтому я не могу его использовать. То, что я хотел бы сделать, это найти объект сообщения электронной почты в папке "Входящие" Гарри и использовать его chatId.
- Имея действительный идентификатор разговора, я смогу позвонить answerAll от имени Гарри.
Могу ли я сделать вызов как: GET /me/messages?$ Filter=internetMessageId eq abcd
1 ответ
Решение
Да, вы можете позвонить GET в предложенной вами форме - пробовали ли вы это? Граф API поддерживает стандартные параметры запроса ODATA.
В графе API проводника у меня работает следующий вызов:
https://graph.microsoft.com/v1.0/me/messages?$filter=internetMessageId eq '<1430948481468.34600@THCIE7Dev2.onmicrosoft.com>'
Это работает
https://graph.microsoft.com/v1.0/me/messages?$filter=internetMessageId eq '<1430948481468.34600@THCIE7Dev2.onmicrosoft.com>'
НО
URL-адрес должен кодировать internetMessageId
Таким образом
https://graph.microsoft.com/v1.0/me/messages?$filter=internetMessageId eq '%3C1430948481468.34600%40THCIE7Dev2.onmicrosoft.com%3E'