我想将EWS托管API更改密钥转换为Graph API为同一日历事件返回的更改密钥。
EWS更改密钥(通过此API获得)为
<t:ItemId ChangeKey="DwAAABYAAAB19EH4lfKlQYvApCHA0Dr0AABILgj3"/>
但是图更改键(通过此键获得)有很大的不同:
"changeKey": "dfRB+JXypUGLwKQhwNA69AAASC4I9w=="
有关Graph日历事件的文档表明它们具有相同的目的,但未提及如何在两者之间进行转换,也没有提及格式为何如此不同。
如何在这两者之间转换?我不能使用任何C#或Powershell库,并且如果可能的话,我希望避免发送其他API。
您可以使用translateExchangeIds API进行此操作。
POST https://graph.microsoft.com/v1.0/users/{userId}/translateExchangeIds
{
"InputIds": ["DwAAABYAAAB19EH4lfKlQYvApCHA0Dr0AABILgj3"],
"TargetIdType": "restId",
"SourceIdType": "ewsId"
}
响应将具有以下形状:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.convertIdResult)",
"value": [
{
"sourceId": "AAMkADEzOTExYjJkLTYxZDAAb18KkFAAA=",
"targetId": "AAMkADEzOTExoeGgGqm4QrAAb18KkFAAA="
}
]
}
潜在的TargetIdType和SourceIdType值为:
<EnumType Name="exchangeIdFormat">
<Member Name="entryId" Value="0" />
<Member Name="ewsId" Value="1" />
<Member Name="immutableEntryId" Value="2" />
<Member Name="restId" Value="3" />
<Member Name="restImmutableEntryId" Value="4" />
</EnumType>
客户端库的下一个更新中将提供此功能。
更新
获得转换后的项目标识符后,您可以请求该项目并选择changekey属性。批量执行此操作将很有意义。
GET https://graph.microsoft.com/v1.0/users/{userId}/messages/{messageid}/?$select=changekey
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句