Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Microsoft graph api 如何将EWS更改键转换为图形更改键?_Microsoft Graph Api_Exchangewebservices - Fatal编程技术网

Microsoft graph api 如何将EWS更改键转换为图形更改键?

Microsoft graph api 如何将EWS更改键转换为图形更改键?,microsoft-graph-api,exchangewebservices,Microsoft Graph Api,Exchangewebservices,我想将EWS管理的API更改键转换为Graph API为同一日历事件返回的更改键 EWS更改密钥(通过获取)为 关于日历事件的图表表明它们具有相同的用途,但没有提到如何在两者之间转换,也没有提到为什么格式如此不同 如何在这两者之间转换?我不能使用任何C#或powershell库,如果可能的话,我希望避免发送额外的API。您可以使用translateExchangeIds API来实现这一点 POST https://graph.microsoft.com/v1.0/users/{userId}/

我想将EWS管理的API更改键转换为Graph API为同一日历事件返回的更改键

EWS更改密钥(通过获取)为

关于日历事件的图表表明它们具有相同的用途,但没有提到如何在两者之间转换,也没有提到为什么格式如此不同


如何在这两者之间转换?我不能使用任何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="
        }
    ]
}
潜在的TargetIdTypeSourceIdType值为:

 <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>

尝试此操作时出现以下错误:“[IdConverter::IsPublicFolder]无效的压缩id”。我做错什么了吗?这很奇怪。我不知道这是你的要求还是服务。你能分享一下回复吗?这个请求看起来不错。日历事件是定期会议还是单一约会?你能在另一个项目类型(如电子邮件)上尝试convertId并共享结果吗?我尝试了a的更改键。单个实例事件b。重复发生的事件。一封电子邮件,但所有这些都会导致与上面相同的错误返回到pastebin示例。。。这使它听起来像是一个无法转换的项的标识符。事件是否在公用文件夹中?
{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.convertIdResult)",
    "value": [
        {
            "sourceId": "AAMkADEzOTExYjJkLTYxZDAAb18KkFAAA=",
            "targetId": "AAMkADEzOTExoeGgGqm4QrAAb18KkFAAA="
        }
    ]
}
 <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>
GET https://graph.microsoft.com/v1.0/users/{userId}/messages/{messageid}/?$select=changekey