このチュートリアルは、開発者が初めて Microsoft Graph API を使用する際の学習期間の短縮を目的としています。
Microsoft Graph API は Office 365 のような Microsoft 365 に含まれるさまざまサービスを、アプリケーションのリソースとして利用するための仕組みを提供します。
しかしながら Microsoft Graph API はただ書式に従いコードを記述すれば動作するようなものではなく、多くの場合、それを利用するアプリケーションを Azure Active Directory に登録し、認証処理を行い、そこで得られたアクセストークンを設定しなければ使用することができません。
また、Microsoft Graph API の処理対象となる Microsoft 365 リソースの構成の理解も必要です。
こうした初学者が躓きがちな点を、実際に開発作業をしながら解説を行います。
このハンズオンでは Microsoft Graph API を使用する以下の 2 の機能を持つ SPA (Single Page Application)を作成します。
- OneDrive へのファイル投稿
- Microsoft Teams のチャネルへのファイルの投稿
上記 2 つの機能の開発を通して以下を説明します。
- Azure Active Directory へのアプリケーションの登録
- Azure Active Directory を使用したログイン機能の実装とアクセストークンの取得
- Graph Explorer を使用した API のテストと Microsoft 365 リソースの確認方法
このチュートリアルを実施するには以下の環境が必要です。
-
Microsoft Office 365 Business Premium 以上のライセンス
ライセンスを持っていない開発者は Office 365 開発者プログラムに参加して開発者用の無料の Office 365 のサブスクリプションを入手することもできます。このサブスクリプションでは Office 365 Enterprise E3 Developer が 1 年間無償で使用することができます。
-
Node.js インストール後、ローカル環境で Web サーバーを動かすために以下のコマンドを使用して http-server をインストールしてください。
npm install http-server -g
- Azure Active Directory へのアプリケーションの登録
- MSAL.js を使用したログイン処理の実装
- Graph API を使用したログイン済ユーザーのプロファイル情報の取得
- Graph API を使用した OneDrive へのファイルの投稿
- Microsoft Teams チャネルへのファイルの投稿 -Teams 用 Graph API を使用するのに必要な ID の取得
- まとめ
このハンズオンは各演習で作成した成果物を次の演習で手を加えて使用します。
よって途中から演習を行うことはできませんのでかならず演習 1 から順番に行ってください。
このハンズオンでは SPA (Single Page Application : Web ブラウザー内で動作するアプリケーション) を使用しており、デスクトップアプリケーションやネイティブアプリについては説明しません。
ただし、①アプリケーションを Azure Active Directory に登録し、②Azure Active Directory にサインインし、③取得したアクセストークンを使用して Graph API と呼び出す、という大まかな手順は変わることはありません。
ただし、Azure Active Directory へのアプリケーションの登録内容、コードの記述方法は異なりますので、このチュートリアルを終了後、目的のプラットプラットフォームに合わせ以下のドキュメントを参考にしてください。
演習用アプリケーション認証コードを Microsoft Authentication Library (MSAL) V1.0 の暗黙的な許可フローを使用するものからPKCE および CORS がサポートされる MSAL.js 2.x と承認コード フローを使用するものに変更しました。