Microsoft Exchange API в вашем Java-коде

Ана Нето Новости компании, Разъемы, Технический Оставить комментарий

Ваш Java-код должен отправлять почту, используя Microsoft Exchange Server. Или вам нужно прочитать электронную почту с сервера Microsoft Exchange с помощью Java. Или, может быть, это календари, которые вас интересуют, и вы пытаетесь получить оттуда информацию или пытаетесь синхронизировать различные календари? Как вы работаете с Microsoft Exchange Calendar API на Java?

Классическим способом интеграции с любым видом программного обеспечения является использование его API. Так, если вы пытаетесь интегрироваться с Microsoft Exchange, вы, вероятно, пытаетесь найти, как использовать API Exchange.

API меняются со временем - немного истории API Microsoft Exchange

Наиболее распространенным способом интеграции с Java на Exchange раньше были веб-службы Exchange (EWS). Пакет EWS SDK для языка Java был выпущен как часть Microsoft Exchange 2007. Это API, основанный на SOAP, но дело в том, что в июле 2018 года компания Microsoft объявила, что больше не будет делать никаких обновлений функций. В то время как EWS SDK для системы Java будет продолжать получать обновления безопасности в течение некоторого времени, в настоящее время нет смысла начинать проект с его использованием.

Еще одним важным изменением является то, что с 13 октября 2020 года полностью прекратится поддержка базовой аутентификации в веб-службах Exchange (EWS). Microsoft хочет, чтобы все перешло на OAuth. На самом деле, OAuth - это гораздо лучший вариант, и он даже утвержден в качестве Международного Стандарта (ISO/IEC). Если вы не слышали о OAuth, вы можете проверить. здесь а затем углубиться здесь. И хотя это шаг к лучшему, факт в том, что когда поддержка базовой аутентификации закончится, приложения больше не смогут использовать базовую аутентификацию при подключении к Exchange с помощью EWS.

И что теперь?

Если вы хотите подключиться к Microsoft Exchange через API из Java и хотите следовать рекомендациям Microsoft, вам следует использовать Microsoft Graph.

Microsoft Graph был построен еще в 2015 году на базе Office 365, и он делегирует звонки в различные облачные сервисы Office 365 через одну конечную точку, таким образом.https://graph.microsoft.com/. Со временем она эволюционировала и теперь включает в себя доступ к другим продуктам Microsoft, таким как Exchange.

Внутри Microsoft Graph можно использовать Microsoft Graph API или подключение данных Microsoft Graph. В любом случае, убедитесь, что вы сначала проверили Условия использования. Компания Microsoft довольно специфична в отношении того, что можно и чего нельзя делать с их API, так что посмотрите.

Для большинства случаев подходит Microsoft Graph API. Ниже мы рассмотрим его немного подробнее.

Вам следует рассмотреть возможность подключения данных Microsoft Graph, если вам нужно работать с большими данными или если вам необходимо детальное согласие (клиент получит возможность просматривать конкретные поля и любые исключения, что невозможно при использовании обычного API). Но есть одно важное правило, о котором вам следует знать, если вы рассматриваете Microsoft Graph data connect: он будет отправлять данные только с арендатора Office 365 клиента на связанный с ним арендатор Azure.

Давайте вернемся к обычному API, поскольку это наиболее распространенный вариант. В настоящее время существует 2 версии Microsoft Graph REST API - beta и v1.0.Вы можете взглянуть на бета-версияно, конечно, для любого серьезного развития следует придерживаться производственной версии 1.0. Для этой версии вы можете проверить документация и Java SDK. Да, если вы только начинаете работать с этим API, вам придется многому учиться!...

Чтобы использовать API, вам сначала нужно зарегистрировать свое приложение. Я знаю, что это не самый интересный первый шаг, но если вы будете использовать API напрямую, вам понадобится идентификатор приложения, чтобы представлять ваше приложение в вызовах API. Для этого вам понадобится учетная запись на работе/в школе или учетная запись Microsoft, а затем вы можете выбрать способ регистрации:

- портал регистрации приложений Майкрософт

- портал управления Azure Active Directory (рекомендуется для приложений корпоративного класса).

Если ваше приложение является конфиденциальным клиентом (услугой), вы должны создать новый пароль приложения для его защиты. После регистрации для вашего приложения будет создан идентификатор приложения, который будет отображаться на странице свойств вашего нового приложения.

Наконец, обратите внимание, что Microsoft Graph также постоянно меняется. Чтобы получить представление об изменениях с течением времени (с декабря 2015 года), вы можете взглянуть на журнал изменений. Если вы хотите работать с ним, мы рекомендуем всегда проверять, какая у вас текущая производственная версия API.

Есть способ получше?

Если тебе не очень нравится:

- Работать с Microsoft в первую очередь

- Приходится тратить тонны времени на изучение документации

- Приходится мириться с ошибками, вызванными будущими изменениями в Microsoft Graph API

Вам может быть интересно, есть ли какая-нибудь альтернатива. Да, есть способ получше!

Вместо того, чтобы напрямую использовать API, вы можете поместить тонкий слой между вами и API. Мы называем этот слой Connect Bridge. Этот слой был создан достаточно тонким, чтобы иметь все быстро и эффективно, но достаточно толстым, чтобы вы никогда не прикасались к Microsoft Exchange или даже к Microsoft Graph API.

Connect Bridge является платным инструментом, но вы можете проверить Connect Bridge бесплатная пробная версия чтобы вы могли посмотреть, работает ли она для вас. Прелесть этого инструмента в том, что он обеспечивает прямую и обратную совместимость.

Вы создаете свой Java-код, интегрируя его с Connect Bridge, а затем ваши пользователи могут обновить Exchange, Microsoft может выпустить новые версии API... и вам не придется беспокоиться об этом. Не имеет значения, что будет после Microsoft Graph API v1.0. Ваше решение все равно будет работать! Вы пишете код один раз, а потом все сложности - это то, о чем вам просто никогда не придется беспокоиться.

Нет никаких ограничений на среду, в которой вы можете использовать этот инструмент. Вы можете запустить его на

- Платформа SaaS, построенная компанией Azure, управляемая программным обеспечением Connecting.

- На территории или на собственных облачных серверах или виртуальных машинах (самохостинг)

Как работает 1ТП16Т? Что он делает за кулисами? В основном он транслирует стандартные SQL-запросы в вызовы API. На вашем коде это выглядит так, как будто вы получаете доступ к реляционной базе данных с помощью JDBC (ODBC и веб-службы также поддерживаются). Вы пишете заявления SELECT, INSERT, UPDATE и DELETE. Вы используете то, что выглядит как хранимые процедуры. Но это все лишь уровень абстракции.

Вы не обращаетесь к базе данных Microsoft Exchange (и поверьте мне, вы не хотите этого делать!). Но выглядит это так, как будто так и есть. Connect Bridge поставляется с инструментом запросов, где вы можете проверить свои (фальшивые) запросы, увидеть (фальшивые) таблицы с их (фальшивыми) столбцами или даже найти удобную (фальшивую) хранимую процедуру. Как я уже сказал, ощущения точно такие же, как при использовании базы данных SQL, но это всего лишь абстракция.

После того, как вы проведете все необходимые тесты, вы просто поместите соединение и запросы в свой код, как если бы вы использовали JDBC для подключения к базе данных... и все! Теперь у вас есть работающее решение, которое не требует никакого обслуживания. Все усилия по обслуживанию лежат на стороне Connect Bridge. Вот почему этот инструмент является платным. Я считаю, что это очень умная идея... стоит каждого пенни!

Также приятно отметить, что этот инструмент работает с безопасностью и аутентификацией, что может занять значительное количество времени, если вы развиваетесь с нуля.

Заключение

Мы видели, как можно легко получить доступ к данным Microsoft Exchange на Java с помощью интеграционной платформы Connect Bridge.

И есть еще хорошие новости: это также возможно с Microsoft Dynamics и Microsoft SharePoint! На самом деле, вы можете подключиться к любому программному обеспечению Microsoft, к Salesforce, и ко многим другим. Достаточно лишь получить Connect Bridge, который является базовой интеграционной платформой и подобрать подходящий коннектор.

Если вы хотите знать, какие коннекторы в настоящее время доступны на Connect Bridge, то вам следует обратить внимание на следующее https://www.connecting-software.com/connect-bridge-connectors/

Если вы хотите знать, какие новейшие коннекторы в этой обширной коллекции, посмотрите на Connect Bridges's 1ТП21Т Финансы и операции и 1ТП21Т Бизнес-центр Соединители.

Также важно знать, что существуют готовые продукты, которые используют Connect Bridge и которые являются полностью готовыми решениями. Например, CB Exchange Server Sync позволяет выбрать пользовательскую одностороннюю или двустороннюю синхронизацию календарей, папок электронной почты, заданий, контактов, общих папок без кодирования вообще.

Надеемся, что эта статья была вам полезна! Вот еще несколько постов в нашем блоге, в которых мы обсуждаем другие возможности интеграции:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *