はじめに
「Microsoft 365 と連携するアプリを作りたい」
「Outlook や Teams のデータをAPIで取得したい」
「Azure AD(Entra ID)と連携したい」
と考えたとき、必ず登場するのが Microsoft Graph です。
Microsoft Graphは、Microsoft 365の各種サービスと外部システムをつなぐ“共通窓口”となるAPIです。
業務自動化や社内システム連携、SaaS統合を行ううえで欠かせない基盤技術といえます。
本記事では、これからMicrosoft 365連携アプリを開発したいエンジニア向けに、
・Microsoft Graphとは何か
・何ができるのか
・どうやって始めるのか(認証方法含む)
をわかりやすく解説します。
目次
- Microsoft Graphとは?
- Microsoft Graphでできること
- Microsoft Graphの基本構造
- 利用に必要な認証(Entra ID)
- Microsoft Graph Explorerで試す
- まとめ
Microsoft Graphとは?
Microsoft Graph は、Microsoft 365の各種サービスにアクセスするための統合REST APIです。

これまでMicrosoft 365では、
・メール → Outlook API
・ファイル → OneDrive API
・ユーザー情報 → Azure AD Graph
のように、サービスごとにAPIが分かれていました。
Microsoft Graphは、それらを1つに統合した「Microsoft 365データの入口」 となるAPIです。
さらに重要なのは、単なるAPIの集合ではなく、Microsoft 365全体を統一されたデータモデルで扱える点 にあります。
この統一データモデルにより、以下のようなデータを共通の仕組みで取得・操作できます。
・メール
・予定表
・ユーザー情報
・Teamsのチャット
・OneDriveのファイル
Microsoft Graphでできること
Microsoft Graph を利用すると、Microsoft 365 のさまざまなサービスと連携が可能です。

2.1 Teamsとの連携
・チャットメッセージ取得
・チーム情報取得
・会議情報取得
社内コミュニケーションデータを活用した分析や、自動通知ボットの開発にも利用できます。
2.2 Outlookとの連携
・メール一覧の取得
・メール送信
・予定表の取得
・連絡先情報の取得
たとえば、「特定条件のメールを自動で別システムへ登録する」といった処理も可能です。
2.3 SharePoint / OneDriveとの連携
・ファイル一覧取得
・ファイルアップロード
・共有リンク作成
・サイト情報取得
社内ドキュメント管理の自動化にも活用できます。
Microsoft Graphの基本構造
Microsoft GraphはREST API形式で提供されています。
基本URLは以下です。
https://graph.microsoft.com/v1.0/
たとえば、ログイン中のユーザー情報を取得するAPIは以下のようになります。
GET https://graph.microsoft.com/v1.0/me
メール一覧を取得する場合:
GET https://graph.microsoft.com/v1.0/me/messages
メール一覧を10件取得する場合:
GET https://graph.microsoft.com/v1.0/me/messages?$top=10
$top を使用すると取得件数を制限できます。
レスポンスはJSON形式で返却されます。
HTTPリクエスト+JSONというシンプルな構造のため、多くの言語やフレームワークから利用可能です。
利用に必要な認証(Entra ID)
Microsoft Graphを利用するには認証が必要です。
現在は Microsoft Entra ID(旧 Azure Active Directory)を使用します。

・基本的な流れ:
1.Azureポータルでアプリ登録
2.クライアントIDの取得
3.API権限(例:Mail.Read)を設定
4.OAuth2でアクセストークン取得
5.トークン付きでAPI呼び出し
特に重要なのが3の権限設定です。

Microsoft Graphのアクセス許可(Permissions)には、以下の2種類があります。
・Delegated permissions
→ 委任されたアクセス(ユーザーの権限でアクセスする)
・Application permissions
→ アプリケーションアクセス(管理者の権限でアクセスする)
用途やアプリの実行形態(ユーザー操作型か、バックグラウンド処理か)に応じて、適切な種類を選択してください。
※アプリケーションアクセスを行う場合は、クライアントシークレットまたは証明書を使用して認証します。
Microsoft Graph Explorerで試す
5.1 Microsoft Graph Explorer:
Microsoft Graph Explorer は、Microsoft GraphのAPIをブラウザ上から手軽に試すことができる公式ツールです。
サイトにログインするだけで、ブラウザ上からAPIの動きを確認することが出来ます。
公式サイトはこちら:
https://developer.microsoft.com/en-us/graph/graph-explorer

まずは以下を試してみましょう。
・/me
・/me/messages
・/me/events
実際のレスポンスを見ることで、理解が一気に深まります。
5.2 よくあるエラー
・権限不足エラー
”Insufficient privileges to complete the operation”
→ API権限追加後に「管理者の同意」を忘れていないか確認しましょう。
5.3 v1.0とbetaの違い
Microsoft Graphのエンドポイントには、以下の2種類のバージョンがあります。
・/v1.0(安定版)
・/beta(先行機能)
/v1.0 は正式リリースされた安定版APIです。
本番環境ではこちらの利用が推奨されます。
一方 /beta は開発途中の機能を含むバージョンであり、
仕様変更や動作変更が発生する可能性があります。
そのため、本番環境では原則として /v1.0を使用することをおすすめします。
まとめ
Microsoft Graphは、Microsoft 365のデータと連携するための基盤となるAPIです。
・OutlookやTeamsなどを横断的に扱える
・REST形式で扱いやすい
・認証と権限設定が重要
業務自動化やシステム連携を検討している場合、理解しておきたい重要な技術といえます。
最後に
テンダでは、「こんなプロジェクトに挑戦したい」「こんなチームで働きたい」「理想のチームを創りたい」と願う仲間を求めています。
カジュアル面談も随時受付中です。ぜひ一度お話ししましょう!