【问题标题】:How do I convert an EWS change key to a Graph change key?如何将 EWS 更改键转换为图形更改键?
【发布时间】:2020-01-26 16:14:28
【问题描述】:

我想将 EWS 托管 API 更改密钥转换为 Graph API 为同一日历事件返回的更改密钥。

EWS 更改密钥(通过this API 获得)是

<t:ItemId ChangeKey="DwAAABYAAAB19EH4lfKlQYvApCHA0Dr0AABILgj3"/>

但 Graph 更改键(通过 this one 获得)大不相同:

"changeKey": "dfRB+JXypUGLwKQhwNA69AAASC4I9w=="

关于 Graph 日历事件的document 表明它们具有相同的目的,但没有提及如何在两者之间进行转换,也没有提及为什么格式如此不同。

如何在这两者之间进行转换?我不能使用任何 C# 或 powershell 库,并且我希望尽可能避免发送额外的 API。

【问题讨论】:

    标签: microsoft-graph-api exchangewebservices


    【解决方案1】:

    您可以使用 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>
    

    这将在client libraries 的下一次更新中提供。

    更新

    一旦您拥有转换后的项目标识符,您就可以请求该项目并选择 changekey 属性。分批这样做是有意义的。

    GET https://graph.microsoft.com/v1.0/users/{userId}/messages/{messageid}/?$select=changekey
    

    【讨论】:

    • 尝试这个给了我这个错误:“[IdConverter::IsPublicFolder] Invalid compression id”。有什么我做错了吗?
    • 这很奇怪。我不知道这是您的要求还是服务。可以分享一下回复正文吗?
    • 这个请求看起来不错。日历事件是定期会议还是单个约会?您可以在其他项目类型(如电子邮件)上尝试 convertId 并分享结果吗?
    • 我尝试了更改键。单实例事件 b.反复发生的事件 C.一封电子邮件,但所有这些都导致与上述相同的错误
    • 回到 pastebin 示例...这听起来像是一个无法转换的项目的标识符。活动是否在公共文件夹中?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    相关资源
    最近更新 更多