EWS API - невозможно привязать повторяющуюся встречу, используя идентификаторы из Graph API - PullRequest
0 голосов
/ 09 января 2020

Я работаю со старым приложением, созданным на основе EWS. Чтобы избежать ограничений соединения с O365 (которые вызывали их собственный набор ошибок), я заменил один раздел кода вызовом конечной точки calendarView Graph API для получения базовых данных c. Затем я передаю поле Graph.Event.Id в EWS при вызове Appointment.Bind(), чтобы получить более подробные данные о конкретных c встречах (есть кое-что, что я получаю от конечной точки EWS за один вызов, требующий большего количества обратных вызовов для большего числа графиков конечные точки, такие как тип почтового ящика указанных участников). Если бы у меня было время полностью переписать приложение на Graph-centri c, я бы это сделал, но это не вариант.

Эта межсервисная настройка отлично работает для неповторяющихся встреч, однако, когда я пытаюсь чтобы сделать это для повторяющейся встречи (первого или любого другого), я получаю ошибку «Id is malformed». Некоторые онлайн-исследования указали мне на метод ConvertId() в EWS, однако я прошел почти все допустимые перестановки либо идентификатора события, либо идентификатора EWS с различными типами ввода и вывода без удачи. Я также попробовал метод BindToRecurringMaster(), выяснив, что если идентификатор встречи не является идентификатором "обычной" встречи, он может работать в качестве основного идентификатора, но там тоже не повезло.

Я заметил закономерность на то, что работает, а что нет:

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

Я могу предоставить больше информации по мере необходимости, точно не зная, что еще было бы полезно, если не требуются кредиты аккаунта.

1 Ответ

1 голос
/ 10 января 2020

Для этого на Графике есть API: https://docs.microsoft.com/graph/api/user-translateexchangeids?view=graph-rest-1.0&tabs=http. Вы можете конвертировать из restId в ewsId таким образом, и делать то, что вам нужно.

...