我正在使用基于EWS构建的较旧的应用程序。为了避免针对O365的连接限制(这会导致一组错误),我用对Graph API的calendarView
端点的调用替换了一段代码,以获取基本事件数据。然后,我在Graph.Event.Id
调用中将Appointment.Bind()
字段传递给EWS以获取有关特定约会的更多详细数据(我在一次调用中从EWS端点获得了一些东西,这需要更多往返于更多Graph端点的操作,例如作为指定与会者的邮箱类型)。如果我有时间完全将应用程序重写为以图形为中心,那是可以的,但这不是一种选择。
此跨服务设置适用于非重复约会,但是当我尝试对一个重复约会(第一次出现或之后的其他事情)执行此操作时,出现“ Id格式错误”错误。一些在线研究向我指出了EWS上的ConvertId()
方法,但是我几乎传递了事件ID或带有各种输入和输出类型的EWS ID的所有有效排列,但没有运气。我还尝试了BindToRecurringMaster()
方法,确定会议ID是否不是“普通”约会的ID,它可以作为主ID使用,但那里也没有运气。
我注意到一种模式,哪些有效,哪些无效:
Works:
AAMkADM5Y2Q5ZDIzLWNiNmQtNDFjYi1hNTRmLTlhY2Q1MmU1MjhjMQBGAAAAAACWNntAvvbTEaUCAJAnobf9BwCIH/Ww71rUEZc9AJAn/KsIAAAA37hzAAAfEXqZ7ZaoRa1VhCtMHrpDAAAAAi0EAAA=
AAMkADM5Y2Q5ZDIzLWNiNmQtNDFjYi1hNTRmLTlhY2Q1MmU1MjhjMQBGAAAAAACWNntAvvbTEaUCAJAnobf9BwCIH/Ww71rUEZc9AJAn/KsIAAAA37hzAADJlr9CRY70S4M2e+CQA/6kAAAwzZBTAAA=
Fails:
AAMkADM5Y2Q5ZDIzLWNiNmQtNDFjYi1hNTRmLTlhY2Q1MmU1MjhjMQFRAAgI15lN3USAAEYAAAAAljZ7QL720xGlAgCQJ6G3-QcAiB-1sO9a1BGXPQCQJ-yrCAAAAN_4cwAAHxF6me2WqEWtVYQrTB66QwAAAAItBQAAEA==
AAMkADM5Y2Q5ZDIzLWNiNmQtNDFjYi1hNTRmLTlhY2Q1MmU1MjhjMQFRAAgI15VgCTPAAEYAAAAAljZ7QL720xGlAgCQJ6G3-QcAiB-1sO9a1BGXPQCQJ-yrCAAAAN_4cwAAHxF6me2WqEWtVYQrTB66QwAAAAItAAAAEA==
我可以根据需要提供更多信息,不确定不需要帐户凭据的其他有用信息。
图形上有一个用于此的API:https://docs.microsoft.com/graph/api/user-translateexchangeids?view=graph-rest-1.0&tabs=http。您可以通过这种方式将restId
转换为ewsId
,应该执行所需的操作。