EWS API - 无法使用 Graph API 中的 ID 绑定定期约会

EWS API - cannot Bind recurring appointment using IDs from Graph API

我正在使用围绕 EWS 构建的旧应用程序。为了避免针对 O365 的连接限制(这会导致它们自己的一组错误),我将一段代码替换为调用 Graph API 的 calendarView 端点以获取基本事件数据。然后,我在 Appointment.Bind() 调用中将 Graph.Event.Id 字段传递给 EWS,以获取有关特定约会的更详细数据(我在一次调用中从 EWS 端点获得了一些东西,需要更多往返图端点,例如指定与会者的邮箱类型)。如果我有时间将应用程序完全重写为 Graph-centric 我会的,但这不是一个选择。

此 cross-service 设置适用于 non-recurring 约会,但是当我尝试为重复约会(第一次出现或之后的任何其他约会)执行此操作时,我得到 "Id is malformed" 错误。一些在线研究向我指出了 EWS 上的 ConvertId() 方法,但是我已经通过了事件 ID 或 EWS ID 的几乎所有有效排列以及各种输入和输出类型,但没有成功。我还尝试了 BindToRecurringMaster() 方法,确定会议 ID 是否不是 "ordinary" 约会的 ID,它可能会用作主 ID,但也没有运气。

我注意到了有效和无效的模式:

Works:
AAMkADM5Y2Q5ZDIzLWNiNmQtNDFjYi1hNTRmLTlhY2Q1MmU1MjhjMQBGAAAAAACWNntAvvbTEaUCAJAnobf9BwCIH/Ww71rUEZc9AJAn/KsIAAAA37hzAAAfEXqZ7ZaoRa1VhCtMHrpDAAAAAi0EAAA=
AAMkADM5Y2Q5ZDIzLWNiNmQtNDFjYi1hNTRmLTlhY2Q1MmU1MjhjMQBGAAAAAACWNntAvvbTEaUCAJAnobf9BwCIH/Ww71rUEZc9AJAn/KsIAAAA37hzAADJlr9CRY70S4M2e+CQA/6kAAAwzZBTAAA=
Fails:
AAMkADM5Y2Q5ZDIzLWNiNmQtNDFjYi1hNTRmLTlhY2Q1MmU1MjhjMQFRAAgI15lN3USAAEYAAAAAljZ7QL720xGlAgCQJ6G3-QcAiB-1sO9a1BGXPQCQJ-yrCAAAAN_4cwAAHxF6me2WqEWtVYQrTB66QwAAAAItBQAAEA==
AAMkADM5Y2Q5ZDIzLWNiNmQtNDFjYi1hNTRmLTlhY2Q1MmU1MjhjMQFRAAgI15VgCTPAAEYAAAAAljZ7QL720xGlAgCQJ6G3-QcAiB-1sO9a1BGXPQCQJ-yrCAAAAN_4cwAAHxF6me2WqEWtVYQrTB66QwAAAAItAAAAEA==

我可以根据需要提供更多信息,不确定还有哪些不需要帐户信用的信息。

Graph 上有一个 API:https://docs.microsoft.com/graph/api/user-translateexchangeids?view=graph-rest-1.0&tabs=http。你可以这样从 restId 转换为 ewsId,应该做你需要的。