У меня есть почтовый элемент надстройки Outlook, в котором мне нужно найти идентификатор, чтобы я мог использовать его для связи с Microsoft Graph.
Почтовый EntryID не совпадает с идентификатором сообщения Microsoft Graph.
Единственный способ понять, как это сделать - это получить PR_INTERNET_MESSAGE_ID вот так:
Public Shared Function GetInternetMessageID(ByRef mail As MailItem) As String
Try
Dim s As String = mail.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x007D001F").ToString.ToLower.Replace(vbCrLf, " ").Replace(" ", "").Replace("message-id:<", "message-id: <")
Return "<" + s.GetInnerString("message-id: <", ">") + ">"
Catch ex As System.Exception
Return String.Empty
End Try
End Function
А затем получите сообщение от Графика, как это:
https://graph.microsoft.com/v1.0/me/messages?$filter=internetMessageId eq '<HE1AR0301DD2555F3F27E45C4E1100@HE1PR1301MB2255.eurprd03.prod.outlook.com>'
Но получение «PropertyAccessor.GetProperty» из приведенного выше кода идет медленно - занимает 3-4 секунды.
Так что теперь у меня есть три разных идентификатора:
- MailItem EntryID
- PR_INTERNET_MESSAGE_ID
- График ID сообщения
Хммм.
Могу ли я найти сообщение Graph, используя mailitem EntryID? ... или я могу найти идентификатор сообщения Graph в почтовом элементе Outlook?
Как вы, ребята, используете почтовый элемент надстройки Outlook и ищите элементы в Microsoft Graph для этого почтового элемента?