我正在尝试将 a 转换EwsId
为 aRestId
或RestImmutableEntryId
使用 Microsoft Graph 的 beta 版本。
RestId
将s转换为 s 效果很好RestImmutableEntryId
,但到目前为止从EwsId
. 可以理解的是,由于它处于测试阶段,因此该文档目前并不丰富,但我发现一些文档说它应该是可能的:
注意:您还可以使用
translateExchangeIds
将 Exchange Web 服务应用程序迁移到 Microsoft Graph”。
我所做的是Id
从.msg
文件中检索和转换,将其转换为 Base64 字符串,然后发送转换请求:
var client = new GraphServiceClient(etc..);
var messageId = Convert.ToBase64String(
System.Text.Encoding.UTF8.GetBytes("<someId@something.prod.outlook.com>")
);
var req = client
.Me
.TranslateExchangeIds(new [] { messageId },
ExchangeIdFormat.RestImmutableEntryId,
ExchangeIdFormat.EwsId);
var translateExchangeIdsCollectionPage = await req.Request().PostAsync();
我希望得到一个ConvertIdResult
回报,但相反,我得到一个Microsoft.Graph.GenericError
“[IdConverter::IsPublicFolder] 无效的压缩 ID”`
我无法找到与此错误相关的任何文档,以及如何修复它。我不是 Outlook 专家,所以就我所知,我使用了错误的 id 或其他东西。