我试图使用Office 365中转发电子邮件的电子邮件标题中的引用消息ID,然后查找具有该消息ID的原始电子邮件。
转发邮件标题中的引用ID将显示如下所示。注意,我通过将&$select=internetMessageHeaders
添加到我的查询中,使用发件人/主题来查找转发的电子邮件,从而从MicrosoftGraph中获取这些标题。
{
"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>'
这样的查询中
我没有收到任何结果。
如果我使用发件人和主题在MicrosoftGraph中查找原始电子邮件,我会看到原始电子邮件的internetMessageId
字段如下:
{
"name": "Message-ID",
"value": "<CAOLK2SC6s9Me05kYRqeuEHKK8DrQbXx34ScT0AzGOFFLMdRapg@mail.gmail.com>"
}
有人对Office365或MicrosoftGraph正做什么来将CAOLK2SAEzvs=-6Rs5cTbgORNivQVK2AvMJDJT8o+ghx-XhCn7w
转换为CAOLK2SC6s9Me05kYRqeuEHKK8DrQbXx34ScT0AzGOFFLMdRapg
有任何想法吗?它看起来像是某种编码,但我一直无法复制它。
最终,我希望能够转换我在引用ID头中得到的内容,这样我就可以使用该ID来使用MicrosoftGraph找到原始电子邮件。
发布于 2018-10-08 06:26:54
我发现了这个问题。在我的测试消息-ID中,我有字符=和+
在$filter查询中使用之前,必须将这些字符编码为%3D和%2B。当他们是URL编码,我可以找到原始电子邮件使用MS图。
发布于 2018-09-12 09:50:40
id
是一个散列值,除其他外,它包含消息所在的路径/文件夹。因此,例如,如果您将一条消息(例如从“收件箱”移动到“存档”),那么您应该期望更改id
。
为了跟踪消息,无论其位置如何,您应该使用internetMessageId
($select=internetMessageId
)属性。
发布于 2019-11-09 16:12:13
在MicrosoftGraphv1.0和beta中,您可以通过在API请求中发送额外的HTTP头来获得“不可变ids”:
Prefer: IdType="ImmutableId"
我使用了不变的斜体,因为这是微软使用的术语。请注意以下注意事项,ID将在下列情况下更改:
还可以通过以下请求将现有的ids转换为不可变的ids:
POST https://graph.microsoft.com/beta/me/translateExchangeIds
{
"inputIds" :
[
"AQMkAGM2…"
],
"targetIdType" : "restImmutableEntryId",
"sourceIdType" : "restId"
}
这会给你一个答复:
HTTP 200 OK
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.convertIdResult)",
"value": [
{
"targetId": "AAkALgAA...",
"sourceId": "AQMkAGM2..."
}
]
}
https://stackoverflow.com/questions/52299908
复制相似问题