首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Outlook邮件ID与图形通信?

Outlook邮件ID与图形通信?
EN

Stack Overflow用户
提问于 2019-05-07 07:57:22
回答 2查看 318关注 0票数 0

我有一个Outlook外接程序邮件项目,我需要找到ID,所以我可以让它与微软图形通信。

邮件项EntryID与不相同。

我想出办法的唯一方法,就是让PR_INTERNET_MESSAGE_ID像这样:

代码语言:javascript
复制
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

然后从图中得到这样的信息:

代码语言:javascript
复制
https://graph.microsoft.com/v1.0/me/messages?$filter=internetMessageId eq '<HE1AR0301DD2555F3F27E45C4E1100@HE1PR1301MB2255.eurprd03.prod.outlook.com>'

但是从上面的代码中获取"PropertyAccessor.GetProperty“是缓慢的--大约3-4秒。

所以现在我有了三个不同的is:

  • MailItem EntryID
  • PR_INTERNET_MESSAGE_ID
  • 图形消息ID

嗯。

我可以使用邮件EntryID查找一条图形消息吗?或者我可以在Outlook邮件项中找到Graph吗?

如何使用Outlook外接程序邮件项以及如何在MicrosoftGraph中查找此邮件项?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-07 14:52:05

我发现的唯一方法是使用ConvertId EWS操作将MAPI条目id转换为EWS id,然后将"+“替换为"_”和"/“以"-”。

票数 1
EN

Stack Overflow用户

发布于 2021-02-19 10:24:53

您应该能够使用translateExchangeIds图形服务在entryId和restId之间进行转换。

https://learn.microsoft.com/en-us/graph/api/user-translateexchangeids?view=graph-rest-1.0&tabs=http

这篇文章也许能帮上忙。

https://www.michev.info/Blog/Post/2744/converting-item-and-folder-ids-via-the-graph-api

代码语言:javascript
复制
#Graph uses URL-safe encoding, work around it
$sourceID = ("AAAAAEI4ipo6z2ZLl269wbCQeHMHACD+gIoVTa5CpTqvk1wNXAAAAAAAAQwAACD+gIoVTa5CpTqvk1wNXAAAAq2DE+kAAA==" -replace "\+","-") -replace "/","_"
$countToReplace = ($sourceID.ToCharArray() | ? {$_ -eq "="}).Count
$sourceID = $sourceID.TrimEnd("=") + $countToReplace
 
$body = @{
"inputIds"= @($sourceID)
"sourceIdType"= "entryId"
"targetIdType"= "ewsId"
} | ConvertTo-Json
$res = Invoke-RestMethod -Method Post -Uri "https://graph.microsoft.com/v1.0/users/sharednew@Michev.info/translateExchangeIds" -Headers $authHeader -Verbose -ContentType "application/json" -Body $body
$res.value.targetId
 
$body = @{
"inputIds"= @($sourceID)
"sourceIdType"= "entryId"
"targetIdType"= "immutableEntryId"
} | ConvertTo-Json
$res = Invoke-RestMethod -Method Post -Uri "https://graph.microsoft.com/v1.0/users/sharednew@Michev.info/translateExchangeIds" -Headers $authHeader -Verbose -ContentType "application/json" -Body $body
$res.value.targetId
 
AAMkADQxMTViNmEzLWViNWYtNGYxNy1iNmQ2LTZmNDVhN2Q5ZDI0NQBGAAAAAABCOIqaOs9mS5duvcGwkHhzBwAg/oCKFU2uQqU6r5NcDVwAAAAAAAEMAAAg/oCKFU2uQqU6r5NcDVwAAAKtgxPpAAA=
 
AAAAAB2EAxGqZhHNm8gAqgAvxFoNACD-gIoVTa5CpTqvk1wNXAAAAq2DORgAAA2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56017986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档