Не удается получить доступ к EWS из надстройки Outlook

#office-js #office-addins

#office-js #office-дополнения

Вопрос:

Последние несколько месяцев я изучал, как написать надстройку Outlook. Используя стандартное решение, созданное в Visual Studio в качестве основы, и подключившись к моему почтовому ящику Office 265, мне удалось создать приятное маленькое рабочее приложение. Затем я начал добавлять некоторые вызовы EWS в приложение, и это тоже шло хорошо, пока оно внезапно не перестало работать. Метод makeEwsRequestAsync вернул бы ‘successful’ и ничего больше, независимо от того, что я передал ему, включая мусор. Я попытался запустить свой код на другом компьютере с той же учетной записью Office 365, и это тоже не вернуло бы никаких данных из метода makeEwsRequestAsync. Я создал новое решение и запустил его точно так же, как его сгенерировал VS 2017. Казалось, что все работает нормально, но значок моего приложения не отображался в моем почтовом отправлении, независимо от того, запускал ли я Outlook на своем рабочем столе или в браузере. В журнале приложений Windows появилось это сообщение:

Не удалось выполнить запрос веб-службы Exchange GetAppManifests. Код ошибки равен 4. Код ответа HTTP: 200

Дополнительное сообщение об ошибке: не удалось установить свойства. Исключение = Microsoft.Mapi.MapiExceptionPartialCompletion: MapiExceptionPartialCompletion: у setProps возникли проблемы со свойствами (hr = 0x40680, ec = 0) Диагностический контекст: Lid: 55847 EMSMDBBOOL.Вызывается EcPoolSessionDoRpc [длина= 146] Lid: 43559 EMSMDBPOOL.Возвращен EcPoolSessionDoRpc [ec = 0x0][длина = 320] [задержка = 1] Lid: 52176 clientVersion: 15.20.1665.20 Lid: 50032 ServerVersion: 15.20.1665.6020 Lid: 35180 Lid: 23226 — Запуск синтаксического анализа ROP — Lid: 27962 ROP: ropSetProps [10] Lid: 27962 ROP: ropExtendedError [250] Крышка: 1494 —- Удаленный контекстный запуск —- Lid: 38698 Lid: 32392 qdwParam: 0x8D6A17A3F400B6C Lid: 56793 dwParam: 0x0 Lid: 50200 StoreEc: 0x80040604 Lid: 45434 Guid: bf41dd79-71de-4c8a-897d-f6f09c06b333 Lid: 10786 dwParam: 0x0 Сообщение: 15.20.1665.020: VI1PR0201MB2224: крышка d870c918-923e-41bf-85d1-4b1315b6f04f: 1750 —- Конец удаленного контекста —- Lid: 31418 — Анализ ROP завершен —. MapiExceptionPartialCompletion: у setProps возникли проблемы со свойствами (hr = 0x40680, ec = 0) Диагностический контекст: Lid: 55847 EMSMDBBOOL.Вызывается EcPoolSessionDoRpc [длина= 146] Lid: 43559 EMSMDBPOOL.Возвращен EcPoolSessionDoRpc [ec = 0x0][длина = 320] [задержка = 1] Lid: 52176 clientVersion: 15.20.1665.20 Lid: 50032 ServerVersion: 15.20.1665.6020 Lid: 35180 Lid: 23226 — Запуск синтаксического анализа ROP — Lid: 27962 ROP: ropSetProps [10] Lid: 27962 ROP: ropExtendedError [250] Крышка: 1494 —- Удаленный контекстный запуск —- Lid: 38698 Lid: 32392 qdwParam: 0x8D6A17A3F400B6C Lid: 56793 dwParam: 0x0 Lid: 50200 StoreEc: 0x80040604 Lid: 45434 Guid: bf41dd79-71de-4c8a-897d-f6f09c06b333 Lid: 10786 dwParam: 0x0 Сообщение: 15.20.1665.020: VI1PR0201MB2224: крышка d870c918-923e-41bf-85d1-4b1315b6f04f: 1750 —- Конец удаленного контекста —- Lid: 31418 — Анализ ROP завершен —

Я попробовал свое новое приложение на другом почтовом ящике, и оно отлично сработало.

Возможно ли, что мой почтовый ящик был заблокирован из EWS?

Комментарии:

1. Для правильного понимания происходящего требуется дополнительная информация. Не могли бы вы, пожалуйста, поделиться тем, что вы отправили с помощью makeEwsRequestAsync метода? Также вы пытаетесь это сделать в учетной записи корпоративной почты или Outlook.com ?

2. Это учетная запись компании в Office 365. Я не делаю ничего умного, просто используя mailbox.makeEwsRequestAsync (getSubjectRequest(почтовый ящик.item.ItemId), обратный вызов); Аналогично, получение пользовательского токена также просто перестало работать: Office.context.mailbox.getUserIdentityTokenAsync(функция (результат). На самом деле, из-за ошибки, показанной выше, я, похоже, мало что могу сделать с этим почтовым ящиком.

3. Что содержится в getSubjectRequest? Отправляете ли вы правильное сообщение SOAP?

4. Не имеет значения, что я поместил в свое сообщение SOAP: правильное (работает на другом почтовом ящике) или полную чушь. Это предполагает, что я могу загрузить свою надстройку без получения сообщения «Сбой запроса веб-службы Exchange GetAppManifests. Код ошибки равен 4. Код ответа HTTP: сообщение 200» выше. Похоже, что мой почтовый ящик просто ни на что не реагирует. Я также пытался запросить токен (Office.context.mailbox.getUserIdentityTokenAsync(функция (результат)) который также работал, но теперь выходит из строя.

5. Я думаю, что это уже было разъяснено, но это звучит как проблема с почтовым ящиком Office 365, поскольку вы уже подтвердили, что вызов makeEwsRequestAsync работает в другом почтовом ящике. Является ли затронутый почтовый ящик тестовой учетной записью, используемой для разработки, или учетной записью конечного пользователя?