この記事のポイント
Microsoft 365・Entra ID・Intune等のデータに単一エンドポイントでアクセスできる統合APIプラットフォーム
Microsoft Entra IDによるOAuth 2.0認証と、委任・アプリ専用2パターンの使い分け
Graph Explorerでのブラウザ上APIテストとSDK(C#・Python等8言語)での実装方法
標準APIはMicrosoft 365ライセンス内で追加費用なし、一部従量制課金APIのみAzure契約が必要
旧Azure AD Graph API廃止後の2026年最新動向とCopilotコネクタ拡大

Microsoft MVP・AIパートナー。LinkX Japan株式会社 代表取締役。東京工業大学大学院にて自然言語処理・金融工学を研究。NHK放送技術研究所でAI・ブロックチェーンの研究開発に従事し、国際学会・ジャーナルでの発表多数。経営情報学会 優秀賞受賞。シンガポールでWeb3企業を創業後、現在は企業向けAI導入・DX推進を支援。
Microsoft Graphは、Microsoft 365・Microsoft Entra ID・Intune・Windowsなど、Microsoftクラウドサービス全体のデータに単一のエンドポイント(https://graph.microsoft.com)からアクセスできるRESTful APIプラットフォームです。メール・予定表・ファイル・ユーザー・Teams・SharePointといったデータを統一的に操作でき、業務自動化やカスタムアプリ開発の基盤として広く活用されています。
本記事では、Microsoft Graphの基本概念からアクセス可能なサービス、OAuth 2.0に基づく認証と権限管理、Graph ExplorerやSDKを使った開発手順、レート制限、従量制課金APIの料金体系、そして2026年の最新動向までを体系的に解説します。
目次
Microsoft Graphを構成する3つのコンポーネント
Microsoft GraphとSharePoint REST APIの違い
Microsoft Graphのレート制限(スロットリング)
Microsoft Graphとは?
Microsoft Graphは、Microsoft 365やMicrosoft Entra ID(旧Azure Active Directory)をはじめとするMicrosoftクラウドサービスのデータに、単一のエンドポイントからアクセスできるAPIプラットフォームです。
メール、予定表、ファイル、ユーザー情報、Teams、SharePoint、OneDriveなど、Microsoft 365に蓄積された業務データを統一的に読み書きできます。

従来はサービスごとに異なるAPIを使い分ける必要がありましたが、Microsoft Graphでは https://graph.microsoft.com という単一のRESTエンドポイントに集約されています。
たとえば、ユーザー情報の取得も予定表の操作もOneDriveのファイル操作も、同じベースURLから呼び出せます。
これにより、複数のMicrosoft 365サービスをまたいだ統合アプリケーションの開発が大幅に効率化されます。
Microsoft Graphを構成する3つのコンポーネント
2026年3月時点で、Microsoft Graphは以下の3つのコンポーネントで構成されています。
-
Microsoft Graph API
REST APIまたはSDKを使って、Microsoft 365・Windows・Enterprise Mobility + Securityのデータにリアルタイムでアクセスするコアコンポーネントです。
-
Copilotコネクタ(旧Microsoft Graphコネクタ)
Box、Google Drive、Jira、Salesforceなど、Microsoftクラウド外部のデータをMicrosoft Graphに取り込み、Microsoft SearchやMicrosoft 365 Copilotから検索可能にする仕組みです。
2026年時点で100以上のコネクタが提供されています。
-
Microsoft Graph Data Connect
Microsoft Graphのデータを大規模にAzureデータストアへ配信するツールセットです。
通常のAPI呼び出しではレート制限の対象になるような大量データの一括エクスポートに適しています。
この3つのコンポーネントを組み合わせることで、リアルタイムのAPI操作から外部データの統合、大規模なデータ分析まで幅広いシナリオに対応できます。
Microsoft Graphでアクセスできるサービス
Microsoft Graphを通じてアクセスできるサービスは、Microsoft 365のコアサービスにとどまりません。このセクションでは、2026年3月時点でMicrosoft Graphが公開しているサービスの範囲を解説します。

以下の表にサービスカテゴリとアクセス可能なサービスをまとめます。
| カテゴリ | 主なサービス |
|---|---|
| Microsoft 365コアサービス | Outlook/Exchange(メール・予定表・連絡先)、OneDrive、SharePoint、Teams、Planner、To Do、OneNote、Excel、Bookings、Viva Insights |
| Enterprise Mobility + Security | Microsoft Entra ID(ユーザー・グループ・ディレクトリ管理)、Intune(デバイス管理)、Advanced Threat Protection |
| Windowsサービス | アクティビティ、デバイス、Universal Printなど(notificationsはdeprecated) |
| その他 | Dynamics 365 Business Central、Microsoft Search、Microsoft Purview(eDiscovery・情報保護) |
この表で特に重要なのは、単にデータの読み書きだけではなく、サービス間のリレーションシップをたどれる点です。
たとえば、あるユーザーのマネージャーを取得し、そのマネージャーが所属するグループのメンバー一覧を取得するといった、組織構造を横断したデータアクセスが単一のAPIで実現できます。
代表的なAPIリクエスト例

以下の表に、よく使われるAPI要求の例を示します。
| 操作 | エンドポイント |
|---|---|
| 自分のプロファイル取得 | GET /v1.0/me |
| 自分のメール取得 | GET /v1.0/me/messages |
| 自分の予定表イベント取得 | GET /v1.0/me/events |
| 自分のOneDriveファイル取得 | GET /v1.0/me/drive/root/children |
| 自分の上司を取得 | GET /v1.0/me/manager |
| 組織内のユーザー一覧 | GET /v1.0/users |
| 組織内のグループ一覧 | GET /v1.0/groups |
これらのエンドポイントはすべて https://graph.microsoft.com をベースURLとして呼び出します。/meエイリアスはサインイン中のユーザー自身を指すショートカットで、委任アクセス(後述)でのみ利用可能です。
Microsoft Graphの認証と権限管理
Microsoft Graphは保護されたAPIであり、データにアクセスするにはMicrosoft ID プラットフォーム(Microsoft Entra ID)による認証と承認が必須です。
このセクションでは、認証の仕組みと権限管理の考え方を解説します。

アプリケーションの登録

Microsoft Graph APIを呼び出すアプリケーションは、事前にMicrosoft Entra管理センターでアプリ登録を行う必要があります。
登録時に設定するのは以下の3つのパラメーターです。
-
アプリケーションID(クライアントID)
Microsoft ID プラットフォームが自動的に割り当てる一意の識別子です。
-
リダイレクトURI
認証完了後にMicrosoftがレスポンスを返すエンドポイントです。Webアプリ、モバイルアプリ、デスクトップアプリそれぞれに適切なURIを設定します。
-
資格情報(クライアントシークレットまたは証明書)
アプリが自身のIDを証明するために使う認証情報です。Webアプリやバックグラウンドサービスのような機密クライアントに必要です。モバイルアプリやSPA(Single Page Application)のようなパブリッククライアントでは不要です。
委任アクセスとアプリ専用アクセス

Microsoft Graphには2つのアクセスパターンがあります。どちらを選ぶかは、アプリケーションの用途に応じて判断します。
以下の表に2つのアクセスパターンの違いをまとめます。
| 観点 | 委任アクセス | アプリ専用アクセス |
|---|---|---|
| 動作主体 | サインインしたユーザーの代理でアプリが動作 | アプリが独自のIDで動作(ユーザーなし) |
| アクセス許可の種類 | 委任されたアクセス許可(スコープ) | アプリケーションのアクセス許可(アプリロール) |
| 主な用途 | ユーザー対話型のWebアプリ、モバイルアプリ | バックグラウンドサービス、デーモン、自動化処理 |
| データの範囲 | サインインユーザーのアクセス権限に準拠 | テナント全体のデータにアクセス可能 |
| 同意の方式 | ユーザー同意または管理者事前同意 | 管理者同意が必須 |
たとえば、社員が自分のメールを確認するアプリは委任アクセスが適しています。一方、毎晩全社員のユーザー情報を同期するバッチ処理はアプリ専用アクセスが適切です。
アプリ専用アクセスはテナント全体のデータに触れられるため、最小限の権限を要求する原則(Principle of Least Privilege)を徹底することが重要です。
認証ライブラリ

Microsoft Graph APIを呼び出すためのアクセストークン取得には、Microsoft IDプラットフォームのOAuth 2.0フローに対応した認証プロバイダーを使用します。
主要なSDKではAzure Identityベースの資格情報や各言語向けの認証プロバイダーを利用でき、トークンの取得・更新やセキュアな接続管理を簡略化できます。
たとえば、.NET / JavaScript / Java / Python / GoのSDKではAzure Identityベースの認証例が公式ドキュメントで示されています。PHP SDKについてはMSALではなくcustom authenticationを使用するため、AuthorizationCodeContextやClientCredentialContextなどを使って認証を実装します。SDKを使わず直接REST APIを呼び出す場合は、MSALを利用してトークンを取得することもできます。
Microsoft Graphの使い方
Microsoft Graphを実際に使い始めるには、まずGraph Explorerで動作を試し、その後SDKを使ってアプリケーションに組み込むのが一般的な流れです。
このセクションでは、開発者向けの主要なツールとAPIバージョンの選び方を解説します。

Graph Explorer

Graph Explorerは、Microsoft Graphが提供するWeb上の対話型テストツールです。
ブラウザからAPIリクエストを送信し、レスポンスをリアルタイムで確認できます。
Graph Explorerの主な特徴は以下のとおりです。
- Microsoftアカウントまたは組織アカウントでサインインして、自分のテナントのデータに対して実際のAPIを実行できる
- サインインなしでもサンプルテナントに対してGETリクエストを試行でき、認証の設定前にAPIの動作を確認できる
- リクエストヘッダー、クエリパラメーター、レスポンスボディを視覚的に操作できる
- アクセス許可のタブから、各APIに必要なスコープを確認できる
Microsoft Graph APIを初めて使う場合は、まずGraph Explorerで GET /v1.0/me などの基本的なリクエストを実行し、レスポンスの構造を把握するところから始めるのが効率的です。
SDK(8言語対応)

Microsoft Graph SDKは、APIのリクエスト構築・認証・再試行処理・ページネーションを自動化するクライアントライブラリです。
2026年3月時点で、以下の8言語・プラットフォームに対応しています。
| 言語 / ツール | リポジトリ | 状態 |
|---|---|---|
| C# / .NET | msgraph-sdk-dotnet | GA |
| TypeScript / JavaScript | msgraph-sdk-javascript | GA |
| Java | msgraph-sdk-java | GA |
| Python | msgraph-sdk-python | GA |
| Go | msgraph-sdk-go | GA |
| PHP | msgraph-sdk-php | GA |
| PowerShell | msgraph-sdk-powershell | GA |
| CLI | msgraph-cli | GA |
SDKにはサービスライブラリ(APIモデルとリクエストビルダー)とコアライブラリ(再試行・リダイレクト・認証・圧縮の共通処理)の2層構成になっています。コアライブラリがスロットリング時の自動再試行やRetry-Afterヘッダーの処理を担当するため、開発者はビジネスロジックに集中できます。
なお、APIのごく一部のみを使う場合は、SDKの代わりにKiota(API クライアント生成ツール)でカスタムクライアントを生成し、インストールサイズを最小化する方法もあります。
APIバージョン(v1.0とbeta)

Microsoft Graph APIには2つのバージョンが存在します。
- v1.0
一般提供(GA)のAPIで、本番環境での利用に適しています。安定性が保証され、破壊的変更は行われません。
- beta
プレビュー段階のAPIで、新機能の先行テストに利用できます。ただし、仕様変更や廃止の可能性があるため、本番アプリでの使用は推奨されません。
エンドポイントURLのパス部分でバージョンを指定します。たとえば GET https://graph.microsoft.com/v1.0/me が安定版、GET https://graph.microsoft.com/beta/me がプレビュー版です。
Microsoft GraphとSharePoint REST APIの違い
Microsoft 365のデータにアクセスするAPIとしては、Microsoft Graph以外にもSharePoint REST APIが広く使われています。
このセクションでは、両者の違いと使い分けの基準を整理します。

比較表
以下の表に主要な違いをまとめます。
| 観点 | Microsoft Graph | SharePoint REST API |
|---|---|---|
| エンドポイント | https://graph.microsoft.com | https://{tenant}.sharepoint.com/_api |
| 対象サービス | Microsoft 365全体(メール・Teams・OneDrive・SharePoint等) | SharePoint / OneDriveのみ |
| 認証 | Microsoft Entra ID(OAuth 2.0) | Microsoft Entra ID(OAuth 2.0)またはSharePointアプリ専用 |
| SDK | 8言語の公式SDK | 公式SDKなし(REST直接呼び出し) |
| 新機能追加 | Microsoft Graphに優先的に追加 | イノベーションはGraph側で進行(新規開発ではGraph推奨) |
| レート制限 | サービス別に定義 | SharePoint独自のスロットリング |
Microsoftは、SharePoint OnlineのREST APIに関するイノベーションをMicrosoft Graph REST API側で進める方針を示しています。
新規開発ではMicrosoft Graphの利用が推奨されますが、SharePoint固有の細かい操作(Webパーツ管理、サイトテンプレート等)でGraph APIがまだカバーしていない領域ではSharePoint REST APIの継続利用が必要な場合もあります。
Azure AD Graph APIの廃止と移行

Microsoft Graphとよく混同されるものに、旧Azure AD Graph API(エンドポイント: https://graph.windows.net)があります。
Azure AD Graph APIは、ユーザーやグループなどのディレクトリ情報にアクセスする旧世代のAPIでしたが、2025年6月30日に完全廃止されました。
廃止のタイムラインは以下のとおりです。
- 2024年8月31日 新規アプリでのAzure AD Graph利用がブロック開始
- 2025年2月1日 既存アプリも延長アクセスの明示的な設定(authenticationBehaviors)が必要に
- 2025年6月30日 延長アクセスも終了し、Azure AD Graph APIが完全停止。すべてのアプリがHTTP 403を返す
Azure AD Graphで提供されていたディレクトリ機能(ユーザー管理、グループ管理、アプリ登録等)はすべてMicrosoft Graphで利用可能です。
加えて、Microsoft Graphではアイデンティティ保護やPrivileged Identity Management、ライフサイクルワークフローなど、Azure AD Graphにはなかった機能も提供されています。
Microsoft Graphのレート制限(スロットリング)
Microsoft Graphでは、サービスの可用性を維持するためにAPI呼び出しに対してレート制限(スロットリング)が課されます。
大量のAPI呼び出しを行うアプリケーションを開発する場合は、制限値とエラー処理の設計が不可欠です。

グローバル制限
すべてのMicrosoft Graph APIに対して適用されるグローバル制限は以下のとおりです。
| 制限種別 | 値 | スコープ |
|---|---|---|
| 全API共通 | 10秒あたり130,000リクエスト | 1アプリあたり(全テナント合算) |
この制限はアプリケーション単位で評価されます。つまり、1つのアプリがすべてのテナントにまたがって発行するリクエストの合計が10秒あたり130,000を超えるとスロットリングが発生します。
テナント全体の全アプリ合算ではない点に注意してください。個々のサービスに対しては、さらに細かい制限が別途適用されます。
サービス別の制限値

サービスごとに異なる調整制限が設定されています。以下の表に主要サービスの制限値を示します。
| サービス | 制限値 | スコープ |
|---|---|---|
| Microsoft Entra ID(読み取り) | 10秒あたり3,500〜8,000リソースユニット | テナント規模で変動(S/M/L) |
| Microsoft Entra ID(書き込み) | 2分30秒あたり3,000リクエスト | アプリ×テナント ペアごと |
| Teams(GET /teams/{id}) | 30 RPS | テナント×アプリごと |
| Teams(GET チャネルメッセージ) | 20 RPS | テナント×アプリごと(さらに特定チャネルあたり1 RPS) |
| Teams(POST チャネルメッセージ) | 50 RPS | テナント×アプリごと(さらに特定チャネルあたり1 RPS、ユーザーあたり1 RPS) |
| Teams(getAllMessages系) | 200〜1,000 RPS | 別枠(Export API) |
| Excel | 10秒あたり1,500リクエスト | テナント×アプリごと |
| Intune | 20秒あたり1,000リクエスト | テナント×アプリごと |
| Microsoft 365レポート(CSV) | 10分あたり14リクエスト | テナント×アプリごと |
Microsoft Entra IDの読み取り制限はテナント規模(ユーザー数50未満 / 50〜500 / 500以上)で3段階に分かれている点が特徴的です。
429エラーの処理とベストプラクティス

スロットリングが発生すると、Microsoft GraphはHTTP 429(Too Many Requests)を返します。
レスポンスにはRetry-Afterヘッダーが含まれ、何秒後に再試行すべきかが示されます。
スロットリングへの対処で重要なポイントは以下のとおりです。
- Retry-Afterヘッダーの秒数だけ待機してから再試行する。これが最も迅速な回復方法
- 即時の再試行は避ける。待機中のリクエストもカウントされるため、即時再試行は状況を悪化させる
- リソースの変更を検出する目的では、ポーリングではなく**変更通知(Webhooks)やデルタクエリ(差分取得)**を使う
- 複数のAPIを呼び出す場合は、JSONバッチ処理で1つのHTTPリクエストにまとめることでリクエスト数を削減できる
Microsoft Graph SDKには、Retry-Afterヘッダーに基づく自動再試行機能が組み込まれています。SDKを利用していれば、スロットリングの大部分は自動的に処理されます。
Microsoft Graphの料金体系
Microsoft Graph APIの大部分は、Microsoft 365ライセンスの範囲内で追加費用なく利用できます。
ただし、一部のAPIは従量制課金となり、Azureサブスクリプションへの紐付けが必要です。このセクションでは、APIの料金分類と具体的な価格を解説します。

標準APIと従量制課金API
Microsoft Graph APIは以下の3カテゴリに分類されます。
標準API
ほとんどのMicrosoft Graph APIがこのカテゴリに属します。
ユーザー情報の取得、メールの読み書き、OneDriveのファイル操作、予定表の管理など、日常的なAPIは追加コストなしでMicrosoft 365ライセンスの一部として利用できます。
これらは、スロットリング制限の範囲内で自由に呼び出せます。
大容量API
大量データの一括エクスポートやインポートを行うAPIです。Microsoft Graph Data Connectがこのカテゴリに該当します。使用量に応じた課金が発生する場合があります。
高度なAPI
エンリッチされたデータや集計データへのアクセス、あるいはMicrosoft 365の高度な機能を提供するAPIです。
SharePoint/OneDriveの秘密度ラベル付与API(assignSensitivityLabel)などが該当し、API呼び出しあたり$0.00185(USD)の課金が発生します。
従量制課金APIを利用するには、アクティブなAzureサブスクリプションをアプリケーションに関連付ける必要があります。
Teams APIの課金モデルの変遷

Teams関連のAPIは、かつてはメッセージ単位の従量制課金が適用されていました。
もっとも、Microsoft Graphの現行のMetered APIs and services一覧では、2025年8月25日以降、同一覧に記載されたTeams APIはno longer meteredと案内されています。
そのため、2026年3月時点では、Teams APIの課金有無を確認する際は個別ドキュメントだけでなく、最新のmetered API一覧も併せて確認するのが安全です。
従来の課金モデルの概要は以下のとおりです(2025年8月24日まで適用)。
| モデル | 用途 | 価格(2025年8月24日まで) |
|---|---|---|
| model=A | セキュリティ・コンプライアンス(DLP等) | シード容量超過後、メッセージあたり$0.00075 |
| model=B | バックアップ・移行・分析 | メッセージあたり$0.00075 |
| 評価モード(デフォルト) | テスト・評価 | 無料(月500メッセージまで) |
この変更により、Teams APIのエクスポートやWebhooksを利用したチャットメッセージの取得は、Microsoft 365の適切なライセンスがあれば追加のAPI課金なしで利用できるようになっています。
現在の従量制課金API
2026年3月時点でメーター課金として残っている代表的なAPIは以下のとおりです。
- SharePoint / OneDriveの秘密度ラベル付与(assignSensitivityLabel): 呼び出しあたり$0.00185
- Microsoft Graph Data Connect: データパイプラインの使用量に応じた課金
最新の従量制課金API一覧は公式ドキュメントで確認してください。
コスト管理

従量制課金APIのコストは、Azure PortalのCost Management + Billingから監視できます。サービス名を「Microsoft Graph Services」でフィルタリングすると、API消費量や測定カテゴリ別の内訳を確認できます。
従量制課金APIを利用する場合は、どのAPIが現在もメーター課金対象かを事前に確認し、必要に応じて変更通知や差分取得を組み合わせて不要な呼び出しを減らすことが重要です。
Microsoft Graph利用時の注意点と2026年の最新動向
Microsoft Graphは継続的に進化しているAPIプラットフォームですが、利用にあたっては制限事項や最新の変更点を把握しておくことが重要です。

既知の制限事項

Microsoft Graphを利用する際に注意すべき制限事項は以下のとおりです。
-
betaエンドポイントの非安定性
beta版APIは予告なく変更・廃止される可能性があるため、本番環境では使用しない
-
従量制課金APIのソブリンクラウド非対応
従量制課金APIはMicrosoftグローバル環境でのみ利用可能。Azure Government等の各国クラウドでは利用できない
-
Azure Managed IDの非対応
従量制課金APIの呼び出しにAzure Managed Identity(マネージドID)は使用できない
-
パブリッククライアントの制約
従量制課金APIは機密クライアント(Webアプリ、Web API、デーモン等)からの呼び出しのみ対応。デスクトップアプリやモバイルアプリから直接呼び出すことはできない
-
変更通知のリージョン制約
一部の変更通知(Webhooks)はリージョンによって利用可能な機能が異なる場合がある
2026年の主な新機能

2026年2〜3月のMicrosoft Graph更新情報から、主要な新機能・変更点を以下にまとめます。
Copilotコネクタの大幅拡張
旧Microsoft Graphコネクタから名称変更されたCopilotコネクタが100以上に拡大しました。
コネクタには2つの種類があります。
Synced Connectorsは外部データをMicrosoft Graphにインデックス化し、Microsoft SearchやCopilotから検索可能にする従来型です。
一方、新たに登場したFederated Connectors(MCP:Model Context Protocolベース)はインデックスを作成せず、クエリ時にリアルタイムで外部ソースからデータを取得します。
Federated Connectorsは2026年3月時点でEarly Access Previewの段階です。
メールトレースAPI
Exchange Onlineのメッセージフローを追跡するexchangeMessageTrace APIが2026年2月にGAとなりました。
Teams管理API
ポリシー割り当て、電話番号の割り当て・解除など、Teams管理操作のAPI化が進んでいます。
ファイルストレージコンテナAPI
SharePoint Embedded向けのカラム操作API(取得・更新・削除)が追加されました。
QRコード認証
Microsoft Entra IDでのQRコード+PIN認証メソッドのAPI管理が可能になりました。フロントラインワーカー向けの認証手段として活用できます。
Microsoft 365 CopilotエージェントやSharePointエージェントといったAIエージェント機能の裏側でもMicrosoft Graphが重要な役割を果たしており、今後もAPI対応範囲の拡大が見込まれます。
まとめ
本記事では、Microsoft Graphの基本概念からアクセス可能なサービス、認証の仕組み、使い方、SharePoint REST APIとの違い、レート制限、料金体系、そして2026年の最新動向までを解説しました。
Microsoft Graphの価値は、大きく3点に集約されます。
-
Microsoft 365データへの統一アクセス
メール・予定表・ファイル・Teams・SharePoint・ユーザー情報など、Microsoft 365に蓄積された多種多様なデータを、https://graph.microsoft.com という単一エンドポイントから一貫した方式で操作できます。
サービスごとに個別のAPIを学習する必要がなく、開発生産性が大幅に向上します。
-
堅牢な認証基盤と柔軟な権限制御
Microsoft Entra IDによる OAuth 2.0認証を基盤とし、委任アクセスとアプリ専用アクセスの2パターンで多様なアプリケーションシナリオに対応します。
8言語のSDKとAzure Identity認証ライブラリにより、認証の実装負担も最小限に抑えられます。
-
コスト効率の高い料金モデル
標準APIはMicrosoft 365ライセンスの範囲内で追加費用なく利用でき、2025年8月以降はTeams系APIもメーター課金の対象外となりました。
従量制課金が必要なのはSharePoint/OneDriveの秘密度ラベル付与APIなどごく限定的なものに絞られており、ほとんどのユースケースで追加コストは発生しません。
Microsoft Graphの導入を検討する場合は、まずGraph Explorerで自テナントのデータに対してAPIを実行し、レスポンスの構造と必要な権限を確認するところから始めるのが最もリスクの低い第一歩です。





