如何将 EWS 更改密钥转换为图形更改密钥?
How do I convert an EWS change key to a Graph change key?
我想将 EWS 管理的 API 更改键转换为图形 API returns 相同日历事件的更改键。
EWS 更改密钥(通过 this API 获得)是
<t:ItemId ChangeKey="DwAAABYAAAB19EH4lfKlQYvApCHA0Dr0AABILgj3"/>
但图表更改密钥(通过 this one 获得)有很大不同:
"changeKey": "dfRB+JXypUGLwKQhwNA69AAASC4I9w=="
关于 Graph 日历事件的 document 表示它们的用途相同,但它没有提到如何在两者之间转换,也没有提到为什么格式如此不同。
如何在这两者之间进行转换?我不能使用任何 C# 或 powershell 库,并且我想尽可能避免发送额外的 APIs。
您可以使用 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>
这将在 client libraries 的下一次更新中提供。
更新
获得转换后的项目标识符后,您可以请求该项目和 select 更改密钥 属性。分批执行此操作很有意义。
GET https://graph.microsoft.com/v1.0/users/{userId}/messages/{messageid}/?$select=changekey
我想将 EWS 管理的 API 更改键转换为图形 API returns 相同日历事件的更改键。
EWS 更改密钥(通过 this API 获得)是
<t:ItemId ChangeKey="DwAAABYAAAB19EH4lfKlQYvApCHA0Dr0AABILgj3"/>
但图表更改密钥(通过 this one 获得)有很大不同:
"changeKey": "dfRB+JXypUGLwKQhwNA69AAASC4I9w=="
关于 Graph 日历事件的 document 表示它们的用途相同,但它没有提到如何在两者之间转换,也没有提到为什么格式如此不同。
如何在这两者之间进行转换?我不能使用任何 C# 或 powershell 库,并且我想尽可能避免发送额外的 APIs。
您可以使用 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>
这将在 client libraries 的下一次更新中提供。
更新
获得转换后的项目标识符后,您可以请求该项目和 select 更改密钥 属性。分批执行此操作很有意义。
GET https://graph.microsoft.com/v1.0/users/{userId}/messages/{messageid}/?$select=changekey