Microsoft Graph API - 通过 internetmessageid 查找消息

gad*_*lin 4 email office365 office365api microsoft-graph-api

我需要为两个用户 - John 和 Harry 之间的电子邮件交换找到 sessionId。在我的场景中:

  1. 约翰向哈利发送信息。
  2. 我有来自 John 发送的电子邮件的电子邮件元数据,例如 converstationId、internetMessageId、messageId(m$ 特定于用户的图)。
  3. 现在我想回复一下哈利。不幸的是,Harry 的converstionId 与John 不同,所以我不能使用它。我想做的是在 Harry 的收件箱中找到电子邮件消息对象并使用他的对话 ID。
  4. 有了有效的conversationId,我就可以代表Harry 调用replyAll。

我可以拨打这样的电话:GET /me/messages?$filter=internetMessageId eq abcd

sas*_*rog 6

是的,您可以按照您建议的形式进行 GET 调用 - 您尝试过吗?图 API 支持标准的 ODATA 查询参数

图形 API explorer 上,以下调用对我有用:

https://graph.microsoft.com/v1.0/me/messages?$filter=internetMessageId eq '<1430948481468.34600@THCIE7Dev2.onmicrosoft.com>'


Tom*_*son 0

这有效

https://graph.microsoft.com/v1.0/me/messages?$filter=internetMessageId eq '<1430948481468.34600@THCIE7Dev2.onmicrosoft.com>'
Run Code Online (Sandbox Code Playgroud)

必须对 internetMessageId 进行 URL 编码

因此

https://graph.microsoft.com/v1.0/me/messages?$filter=internetMessageId eq '%3C1430948481468.34600%40THCIE7Dev2.onmicrosoft.com%3E'
Run Code Online (Sandbox Code Playgroud)