JavaコードのMicrosoft Exchange API

アナ・ネト 会社情報, コネクタ, 技術的なこと コメントを残す

あなたのJavaコードは、Microsoft Exchange Serverを使用してメールを送信する必要があります。または、Javaを使用してMicrosoft Exchange Serverから電子メールを読み取る必要があります。あるいは、あなたが興味を持っているのはカレンダーで、そこから情報を取得しようとしたり、異なるカレンダーを同期しようとしたりしているのかもしれません。JavaでMicrosoft Exchange Calendar APIを使ってどのように作業するのでしょうか?

どんな種類のソフトウェアとも統合する古典的な方法は、そのAPIを使用することです。ですから、Microsoft Exchangeと統合しようとしているのであれば、おそらくExchangeのAPIをどのように使うかを探そうとしているのでしょう。

APIは時代とともに変化する - Microsoft Exchange APIのちょっとした歴史

JavaからExchangeに統合する方法としては、これまではExchange Web Services(EWS)が主流でしたが、このEWS SDK for は、Microsoft Exchange 2007の一環として提供されました。EWS SDK for Java は、2007年にMicrosoft Exchangeの一部として発売されました。SOAPベースのAPIなのですが、問題は2018年7月にMicrosoftが機能アップデートを行わなくなると発表したことです。EWS SDK for Java willはしばらくの間セキュリティアップデートを受け続けますが、今のところそれを使用してプロジェクトを開始することは意味がありません。

もう一つの重要な変更点は、2020年10月13日からExchange Web Services (EWS)での基本認証のサポートが完全に停止されることです。マイクロソフトはすべてをOAuthに移行することを望んでいます。OAuthは実際にははるかに優れたオプションであり、国際標準(ISO/IEC)として承認されています。OAuthを聞いたことがない場合は、以下をチェックしてみてください。 此処 そしてさらに深く 此処.そして、これは良い方向への動きではありますが、基本認証のサポートが終了すると、アプリがEWSを使用してExchangeに接続する際に基本認証を使用できなくなるという事実があります。

で、どうするの?

JavaからAPI経由でMicrosoft Exchangeに接続する場合、Microsoftの推奨に従うのであれば、Microsoft Graphを使用した方が良いでしょう。

Microsoft Graphは2015年にOffice 365の上に構築され、1つのエンドポイント を介して異なるOffice 365クラウドサービスへの呼び出しをデリゲートします。https://graph.microsoft.com/.それは今ではExchangeのような他のMicrosoft製品へのアクセスを含むように時間をかけて進化してきました。

Microsoft Graph内では、Microsoft Graph APIまたはMicrosoft Graph data connectを使用することができます。いずれの方法でも、まず最初に ご利用条件.Microsoftは、APIでできることとできないことについてかなり具体的に説明していますので、見てみてください。

ほとんどの場合、Microsoft Graph APIを利用することになります。それについては、以下でもう少し詳しく見ていきましょう。

ビッグデータを扱う必要がある場合や、きめ細かな同意が必要な場合は、Microsoft Graph data connectを検討する必要があります(顧客は特定のフィールドや通常のAPIでは不可能な除外事項を確認することができます)。それは、顧客のOffice 365テナントから関連するAzureテナントにのみデータを送信するということです。

最も一般的な選択肢なので、通常のAPIに戻りましょう。Microsoft Graph REST APIには現在、ベータ版とv1.0版の2つのバージョンがあります。を見ることができます。 ベータ版しかし、もちろん、本格的な開発には製品版 1.0 に固執する必要があります。そのバージョンについては 文書化 そして、その ジャバSDK.そうですね、このAPIを使い始めたばかりの方は勉強が必要ですよね!

その後APIを使用するには、まずアプリを登録する必要があります。これはあまりエキサイティングな第一歩ではないと思いますが、APIを直接使用する場合は、API呼び出しでアプリケーションを表現するためのアプリケーションIDが必要になります。このためには、仕事や学校のアカウントまたはマイクロソフトのアカウントが必要になります。

- マイクロソフトアプリケーション登録ポータル

- Azure Active Directory管理ポータル(エンタープライズクラスのアプリケーションに推奨)

アプリが機密クライアント(サービス)である場合は、アプリのセキュリティを確保するために、新規アプリのパスワードを作成する必要があります。登録後、アプリ用のアプリIDが作成され、新しいアプリのプロパティページに表示されます。

最後に、Microsoft Graphも常に変化していることに注意してください。経年変化(2015年12月以降)を把握するには チェンジログ.これを使って作業したい場合は、API の現在のプロダクションバージョンが何であるかを常に確認することをお勧めします。

もっと良い方法はないのか?

あまり興味のない方は

- そもそもマイクロソフトとの連携

- ドキュメントを勉強するのに膨大な時間を費やすこと

- Microsoft Graph APIの将来的な変更によるエラーを我慢すること

何か代替案はないかと悩んでいるかもしれません。そう、もっと良い方法があるのです!

APIを直接使用する代わりに、自分とAPIの間に薄いレイヤーを置くことができます。私たちはこのレイヤーを Connect Bridge と呼んでいます。このレイヤーは、すべてのものが高速で効率的に動作するように十分に薄く作られていますが、Microsoft ExchangeやMicrosoft Graph APIには決して触れないように十分に厚く作られています。

Connect Bridgeは有料ツールですが Connect Bridge無料トライアル 利用可能なので、それがあなたのために動作するかどうかを確認することができます。このツールの優れた点は、前方と後方の互換性を保証することです。

Connect Bridgeと統合したJavaコードを構築して、ユーザーがExchangeをアップグレードしても、MicrosoftがAPIの新バージョンを発表しても......と心配する必要はありません。Microsoft Graph API v1.0の後に何が来るかは問題ではありません。あなたのソリューションはまだ動作します一度コードを書いてしまえば、すべての複雑さを心配する必要はありません。

本ツールの使用環境に制限はありません。以下の環境で実行することができます。

- コネクティングソフトウェアが管理するAzureで構築されたSaaSプラットフォーム

- オンプレミス、または自社のクラウドサーバーや仮想マシン(セルフホスト型

Connect Bridgeの仕組みは?裏では何をしているのでしょうか?基本的には標準SQL文をAPI呼び出しに変換します。コード上では、JDBC(ODBCやWebサービスもサポートされています)を使用してリレーショナルデータベースにアクセスしているように見えます。SELECT、INSERT、UPDATE、DELETE文を書いています。ストアドプロシージャのようなものを使用しています。しかし、それはすべて抽象化されたレイヤーにすぎません。

Microsoft Exchangeのデータベースにアクセスしていません(私を信じてください、そんなことはしたくないでしょう!)。しかし、あたかもアクセスしているかのように見えます。Connect Bridgeにはクエリツールが付属していて、(偽の)クエリをテストしたり、(偽の)テーブルの(偽の)カラムを見たり、便利な(偽の)ストアドプロシージャを見つけたりすることができます。私が言ったように、それはSQLデータベースを使用しているかのように正確に感じますが、それは抽象化されたものに過ぎません。

必要なテストをすべて行ったら、データベースに接続するためにJDBCを使用しているかのように、接続とクエリをコードに記述するだけです。これで、メンテナンスを必要としない実用的なソリューションを手に入れることができます。メンテナンスの労力はすべてConnect Bridgeの側にあります。だからこそ、このツールは有料ツールなのです。これは非常に賢いアイデアだと思います...すべてのペニーの価値があります!

また、このツールはセキュリティや認証にも対応しているので、一から開発しているとかなりの時間がかかってしまうのも良い点です。

結論

JavaでMicrosoft Exchangeのデータにアクセスする方法を見てきましたが、Connect Bridgeの統合プラットフォームを使って簡単にできるようになっています。

さらに良いニュースがあります:これはMicrosoft DynamicsとMicrosoft SharePointでも可能です。実際のところ、MicrosoftのソフトウェアやSalesforce、その他多くのソフトウェアに接続することができます。基本的な統合プラットフォームであるConnect Bridgeを入手し、適切なコネクタを選択する必要があります。

Connect Bridgeで現在販売されているコネクタを知りたい場合は、以下を参照してください。 https://www.connecting-software.com/connect-bridge-connectors/

この膨大なコレクションの中で、どれが最新のコネクタなのかを知りたい場合は、Connect Bridgesをご覧ください。 Dynamics 365 ファイナンス&オペレーション そして Dynamics 365 ビジネスセントラル コネクタを使用しています。

また、Connect Bridgeを使用した既製品や、完全にアウトオブボックスのソリューションがあることを知っておくことも重要です。例えば CB Exchange Server Sync カレンダー、電子メールフォルダ、タスク、連絡先、パブリックフォルダの一方向または双方向の同期をカスタムで選択することができます。

この記事がお役に立てれば幸いですここでは、他の統合の可能性について議論しているブログの記事をいくつか紹介します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です