この記事のポイント
Microsoft GraphはM365全域+Entra ID・Intune・Windowsを1エンドポイントで扱う統一APIプラットフォーム
2026年時点ではMicrosoft 365 Copilotのグラウンディング元・Agent 365のパッケージ管理API提供元としても位置づけが拡大
認証はアプリ登録+OAuth 2.0、委任アクセスとアプリ専用アクセスの2軸で設計する
大半のAPIは追加費用なし、一部の従量制課金APIのみAzureサブスクリプション紐付けが必要
Graph Toolkitは2026年8月28日に完全廃止、Graph CLIはリポジトリがアーカイブ済みでPowerShell SDK等の代替への移行検討が必要

Microsoft MVP・AIパートナー。LinkX Japan株式会社 代表取締役。東京工業大学大学院にて自然言語処理・金融工学を研究。NHK放送技術研究所でAI・ブロックチェーンの研究開発に従事し、国際学会・ジャーナルでの発表多数。経営情報学会 優秀賞受賞。シンガポールでWeb3企業を創業後、現在は企業向けAI導入・DX推進を支援。
Microsoft Graphは、Microsoft 365・Microsoft Entra ID・Intune・Windowsといったマイクロソフトクラウド全体のデータに、単一エンドポイントからアクセスできるRESTful APIプラットフォームです。
2026年時点では、Microsoft 365 Copilotのグラウンディング元やMicrosoft Agent 365のパッケージ管理API提供元としても位置づけられ、Copilot・エージェント運用時の権限設計・データガバナンスの土台として役割が広がっています。
本記事では、対応データとサービス、認証と権限モデル、Azure Portalでのアプリ登録からGraph Explorer・SDKまでの実装フロー、料金体系、Copilot・Agent 365時代の役割変化、レート制限や2026年の廃止・移行動向までを、2026年7月時点の最新情報で体系的に解説します。
目次
Microsoft Graphとは?Microsoft 365全域を扱う統一APIプラットフォーム
Microsoft Graphでアクセスできるデータとサービス
Copilot・Agent 365時代のMicrosoft Graph
Microsoft Graphのレート制限と2026年の廃止・移行動向
Microsoft Graphとは?Microsoft 365全域を扱う統一APIプラットフォーム

Microsoft Graphとは、Microsoft 365やMicrosoft Entra ID、Intune、Windows、Security、SharePoint Embeddedといったマイクロソフトクラウドサービスのデータに、単一エンドポイント「https://graph.microsoft.com」からアクセスできるRESTful APIプラットフォームです。
メール・予定表・ファイル・ユーザー・グループ・Teamsメッセージ・SharePointコンテンツなど、業務で扱うほとんどのデータを1つのURI体系で読み書きできます。
Graphは2015年からある枯れたAPIですが、2026年に入ってMicrosoft 365 CopilotやAgent 365のデータ・管理層として位置づけが再評価されました。
かつて「M365のデータを取り出すAPI」だった役割から、Copilot・エージェントがM365上のデータ・管理情報にアクセスする際の重要な経路の1つへと広がっているのが、2026年のGraphの現在地です。
AIエージェント時代のデータ制御ハブへ

Graphの再評価は、単なる開発者向けAPIからCopilot導入時の権限設計とデータガバナンスの土台へと役割が変わったことによります。
- Copilotグラウンディング経路
Microsoft 365 Copilotが社内データを参照する際、ユーザーごとのGraph権限の範囲でメール・ファイル・チャット等が取得される
- Agent 365管理API
エージェント・アプリパッケージの一覧取得・詳細参照がMicrosoft Graph経由の管理APIとして提供される
ここでのポイントは、Copilot時代の企業システム設計は「LLM本体をどう選ぶか」に加えて「Graph経由でどのデータを・どの権限で参照させるか」が実装の重要ポイントになっている、という点です。
CopilotグラウンディングやAgent 365 APIの詳細は後段の「Copilot・Agent 365時代のMicrosoft Graph」で扱います。
Microsoft Graphでアクセスできるデータとサービス

Microsoft Graphで扱えるデータは、Microsoft 365の内側にとどまりません。E
ntra ID・Intune・Windows・Security・SharePoint Embeddedといった周辺プロダクトのデータまで、1つのAPIから横断的にアクセスできます。
本セクションでは、対応サービス群の全体像とGraphが採用するノード×エッジ構造を整理します。
対応するサービス群
以下の表で、Microsoft Graphがアクセス可能な主要サービスと代表的なデータを整理しました。
| サービス群 | 代表的なデータ・機能 |
|---|---|
| Microsoft 365 | メール(Outlook)、予定表、Teamsメッセージ・チャネル、Word/Excel/PowerPointファイル、OneDrive/SharePointコンテンツ、Planner/To Doタスク |
| Microsoft Entra ID | ユーザー、グループ、ロール、アプリケーション、条件付きアクセス、サインインログ |
| Microsoft Intune | 管理対象デバイス、コンプライアンスポリシー、アプリ配布ポリシー |
| Windows Update for Business | 更新プログラム配布、デプロイ管理 |
| Microsoft Security | アラート、インシデント、セキュアスコア、脅威インジケーター |
| SharePoint Embedded | パーティション化ストレージコンテナー、アクセス権限グループ |
| Microsoft 365 Copilot / Agent 365 | エージェントレジストリ、パッケージ管理、Copilot Connectors |
この表から読み取れるのは、Graphが「Microsoft 365のデータAPI」ではなく、マイクロソフトクラウドの複数プロダクト(M365・Entra ID・Intune・Windows・Security 等)のデータと管理操作を横断的に扱うAPIとして設計されている点です。
Entra IDのユーザー管理、Intuneのデバイス管理、Microsoft 365領域の各種業務データ操作を、Graph経由でスクリプト・アプリケーションから自動化できます。
ただしDynamics 365全般やPower Platform管理などGraph対象外の領域もあるため、扱いたい対象が公式ドキュメントの対応リソースに含まれるかは実装前に確認するのが安全です。
ノード×エッジ構造で関連データをたどれる

Microsoft Graphの特徴は、上記のリソースを個別APIとして分けず、ノード(リソース)とエッジ(リレーション)からなるグラフ構造として提供している点です。
たとえば「特定ユーザーが所属するグループ・ロール・管理単位の一覧」を取得する場合、以下のようなURLで一発で辿れます。
GET https://graph.microsoft.com/v1.0/users/{user-id}/memberOf
「memberOf」 はユーザーが直接メンバーになっているグループやディレクトリロール、管理単位を返します。グループのメンバー一覧を取得したい場合は 「/groups/{id}/members」 を別途呼び出します。
サービス別に個別APIを呼び分ける必要がなく、「/users/{id}/messages」(ユーザーのメール)、「/groups/{id}/members」(グループメンバー)、「/sites/{id}/drive/root/children」(SharePointサイトのファイル)といった形で関連リソースを辿れます。
このグラフ構造こそがMicrosoft Graphという名前の由来であり、Copilotが「特定ユーザーが関わる会議・メール・ファイルを横断して要約する」ような操作を1つのAPIで実現できる根拠にもなっています。
Microsoft Graphの認証と権限管理
Micr
osoft Graphを呼び出すには、Entra IDにアプリケーションを登録し、OAuth 2.0でアクセストークンを取得する必要があります。
本セクションでは、アプリ登録の流れと、委任アクセス・アプリ専用アクセスの2つの認可モデルを整理します。
Entra IDでのアプリケーション登録
Microsoft Graphを使う最初のステップは、Azure Portalの「アプリの登録」画面でアプリケーションを登録することです。
登録画面では、テナント内既存アプリの一覧が表示され、そこから新規登録に進みます。

新規登録では、アプリ名・サポートされるアカウントの種類(シングルテナント/マルチテナント/個人MSA含む)・リダイレクトURI(Webアプリの場合)を指定します。

登録が完了すると、アプリケーション(クライアント)IDとディレクトリ(テナント)IDが払い出されます。これらは以降のトークン取得リクエストで必須のパラメータになります。

登録時点では委任アクセス用の 「User.Read」 が自動追加されますが、それ以外の必要な権限・管理者同意はまだ設定されていません。次に、業務で必要となるAPIのアクセス許可を明示的に付与します。
APIのアクセス許可設計

「APIのアクセス許可」画面では、Microsoft Graphに対して、どのリソースをどの粒度で操作できるかを個別に選びます。

Microsoft Graphのアクセス許可(スコープ)は、リソースごとに読み取り専用・書き込み・全操作といった粒度で分かれています。以下の表で代表的なスコープを示します。
| スコープ例 | 委任アクセスでの範囲 | アプリ専用での範囲 |
|---|---|---|
| User.Read | サインインユーザー自身のプロファイル読み取り | 対象外 |
| User.Read.All | サインインユーザーがアクセス可能な全ユーザーの読み取り(管理者同意必要) | テナント内全ユーザーの読み取り |
| Mail.Read | サインインユーザーのメール読み取り | テナント内全メールボックスのメール読み取り |
| Mail.Send | サインインユーザーとしてメール送信 | 任意ユーザーとしてメール送信 |
| Files.ReadWrite | サインインユーザー自身のファイルの読み書き | 対象外(アプリ専用は Files.ReadWrite.All を使う) |
| Files.ReadWrite.All | サインインユーザーがアクセス可能な全ファイルの読み書き(管理者同意は不要) | テナント内全ユーザー・全サイトのファイルの読み書き |
| Directory.ReadWrite.All | サインインユーザーがアクセス可能なディレクトリの読み書き(管理者同意必要)。ユーザー・グループの削除やパスワードのリセットは対象外 | テナント内ディレクトリの読み書き。ユーザー・グループの削除やパスワードのリセットは対象外 |
実装で押さえるべき原則は、最小権限です。不要に広いスコープ(Directory.ReadWrite.All等)を付けると、そのアプリのシークレットが漏洩したときに被害範囲がテナント全体に及びます。
「必要な操作を洗い出し→最小のスコープを選ぶ→動かないときに広げる」の順で組むのが安全です。
委任アクセスとアプリ専用アクセスの使い分け

Microsoft Graphのアクセスは、大きく委任アクセス(ユーザーがサインインしてそのユーザーの権限でGraphを叩く)とアプリ専用アクセス(ユーザーを介さずアプリ自身の権限でGraphを叩く)の2つに分かれます。
以下の表で、両者の性質と使いどころを整理しました。
| モデル | 認可の主体 | 代表シナリオ | 認証フロー |
|---|---|---|---|
| 委任アクセス | ユーザー+アプリの両方 | ユーザー操作を伴うWebアプリ、モバイルアプリ、SPA | 認証コードフロー(OAuth 2.0 auth code) |
| アプリ専用アクセス | アプリ自身のみ | バッチ処理、Azure Functions、常駐サービス、Copilotエージェントのバックエンド | クライアント資格情報フロー |
実装で最も間違いが起きやすいのが、「バッチ処理なのに委任アクセスを選び、ユーザーのログインが切れるたびに失敗する」というパターンです。
原則として、ユーザー画面のあるインタラクティブな処理は委任、常駐で動くバックエンド処理はアプリ専用、と処理の性質から選びます。
認証ライブラリの使い分け

Microsoft Graph向けのアクセストークン取得は、公式の認証ライブラリを使って組むのが基本です。言語ごとの公式ガイダンスは以下のとおりで、単一ライブラリではなく用途に応じて選びます。
- .NET / Python / Java / JavaScript
「Azure.Identity」(Azure Identity ライブラリ)系のクレデンシャルクラスを使い、Graph SDKに直接渡す構成が公式チュートリアルで案内されている
- モバイル・デスクトップ・SPA
MSAL(Microsoft Authentication Library)ファミリー(MSAL.NET・MSAL.js・MSAL Python 等)を使い、対話ログインやトークンキャッシュを扱う
- バックエンド/サービスプリンシパル
Azure Identity の 「ClientSecretCredential」 / 「DefaultAzureCredential」、または MSAL のクライアント資格情報フローを使う
いずれのライブラリも、認証コードフロー・クライアント資格情報フロー・デバイスコードフローといった各種OAuthフローを、リフレッシュトークン管理まで含めてラッピングしてくれます。
生のHTTPリクエストで組むよりも、トークン期限管理・エラーハンドリング・キャッシュの実装漏れによる事故を大幅に減らせます。
実装時は公式ライブラリ経由でトークンを取得し、直接IDプラットフォームのエンドポイントを叩かない設計にしましょう。
Microsoft Graphの使い方

Microsoft Graphの実装は、いきなりSDKでコードを書く前にGraph ExplorerでAPI挙動を確認するステップを踏むと事故が減ります。
本セクションではGraph Explorerの使い方と、各主要言語向けSDKによる本格実装の流れを整理します。
Graph Explorerで動作検証する
Graph Explorerは、Microsoftが公式に提供するブラウザベースの検証ツールです。
サンプルテナントに対する読み取り操作はサインイン不要で試せます。

Graph Explorer画面では、HTTPメソッド(GET/POST/PUT/PATCH/DELETE)・エンドポイントURL・リクエストボディ・アクセス許可を1つの画面で指定してリクエストを発行できます。
サンプルテナントに対してGETリクエストを実行すると、レスポンスJSONが右側ペインに表示されます。

Graph Explorerを使うメリットは、コードを1行も書かずに以下を確認できる点です。
- 目的のデータが実際にどんなJSON構造で返ってくるか
- リクエストに必要なアクセス許可(スコープ)が何か
- URLパラメータのフィルタ・並び替えが期待通りに動くか
これらを先に確認しておくと、SDK側でコードを組んだあとに「取れると思っていたフィールドが実は含まれない」といった手戻りを防げます。
使いたいアクセス許可の選択
Graph Explorerの「Modify permissions」タブでは、リクエストに必要なアクセス許可を検索・選択できます。

ここで許可を付与しておくと、自分のテナントデータに対しても実際にリクエストを送れるようになります。
開発初期は「サンプルテナント→自分のテナント(読み取り専用)→自分のテナント(書き込み)」の順で権限を広げるのが安全です。
個別APIを試してみる
具体的なリクエスト例として、自分の受信メールの一覧を取得するリクエストを発行するとします。

Graph Explorer上でこのリクエストを試すと、レスポンスに件名・差出人・受信日時・本文プレビューが含まれることが確認できます。
SDK実装に進む前に、実データがどう返ってくるかを目で見ておくと、その後のパース処理設計が楽になります。
v1.0とbetaのバージョン選択

Microsoft Graphにはv1.0(本番用の安定版)とbeta(プレビュー版)の2バージョンがあり、リクエストURLで使い分けます。

以下の表で、v1.0とbetaの違いと使い分けを整理しました。
| バージョン | エンドポイント | 用途 | 特徴 |
|---|---|---|---|
| v1.0 | 「graph.microsoft.com/v1.0」 | 本番アプリ | GA済み・本番利用向け。非後方互換の変更が発生する場合はAPIバージョンが更新される |
| beta | 「graph.microsoft.com/beta」 | プレビュー機能検証・PoC | 予告なく変更・削除される可能性、本番利用は非推奨 |
実務で押さえるべきポイントは、betaで動く機能をそのまま本番リリースしないことです。beta固有のフィールド構造や振る舞いに依存すると、Microsoftが仕様変更した瞬間に本番システムが停止します。
新機能をbetaで先行検証し、v1.0にGA(一般提供)された時点で本番組み込みを始める、という進め方が定石です。
Microsoft Graph SDKの活用

本格的なアプリケーション実装では、公式のMicrosoft Graph SDKを使います。
SDKは公式一覧で.NET・Java・JavaScript/TypeScript・Python・PHP・Go・PowerShellなど各主要言語向けに提供されており、認証ライブラリ連携・リトライ・レスポンスパースが標準装備されています。
以下は、Python向け公式チュートリアルに準じたコード例です。認証には Azure Identity ライブラリを使い、Graph クライアントに渡します。
from azure.identity import DeviceCodeCredential
from msgraph import GraphServiceClient
credential = DeviceCodeCredential(
client_id="{app-client-id}",
tenant_id="{tenant-id}",
)
scopes = ["User.Read"]
client = GraphServiceClient(credentials=credential, scopes=scopes)
me = await client.me.get()
print(me.display_name, me.mail)
実行するとデバイスコード認証を経て、自分のプロファイル情報(表示名・メールアドレス等)が取得できます。
SDKを使うメリットは複数あります。まず認証周り(Azure Identity / MSAL連携)を自前実装せずに済む点、次にリトライ・スロットリング処理が組み込み済みで単発リクエストの429エラー対応をある程度任せられる点、そしてレスポンスが型付きオブジェクトとして返るためJSONパース時のフィールド漏れを防げる点です。
ただしJSONバッチ内の個別リクエストのスロットリングはSDKの自動再試行対象外という重要な留意点があります。
バッチ処理を組む場合は、レスポンス内の個別ステータスコードを確認して自前で再試行するロジックが必要です。
生のHTTPリクエストで実装すると認証・リトライ・パースを全て自前で組む必要があり、本番運用開始後に細かい事故が起きやすくなります。
SDKを使うのが原則、生HTTPは公式SDKが対応しない特殊ケースのみ、という切り分けが実務的です。
Microsoft Graphの料金体系

Microsoft Graphの多くのAPIは、Microsoft 365ライセンス内で追加費用なしに利用できます。大
容量API・高度なAPIというカテゴリは従量制課金の対象になり得る区分であり、カテゴリ全体が一律に課金されているわけではありません。
実際の課金対象は公式リストで個別に指定されており、Azureサブスクリプションへの紐付けが必要な API はその一部です。本セクションでは3カテゴリの位置づけと、現行の課金対象を整理します。
3つのAPIカテゴリ
Microsoft Graph APIは、公式のMetered API overviewで以下3カテゴリに分類されています。以下の表でその概要を整理しました。
| カテゴリ | 位置づけ | 代表例 |
|---|---|---|
| Standard API | ユーザーサブスクリプションライセンスの範囲内で使えるAPI群。大半のGraph APIがここに含まれる | メール・ユーザー・グループ・ファイル等の一般操作 |
| 大容量API(High-capacity) | 一括エクスポート・一括インポート等のエンドポイント群。このカテゴリの一部が個別に従量課金対象になり得る | 一括エクスポート・大量データ取得系エンドポイント |
| 高度なAPI(Advanced) | 集約データや拡張機能を提供するAPI群。このカテゴリの一部が個別に従量課金対象になり得る | assignSensitivityLabel など |
この表から読み取れるのは、カテゴリ名だけで「必ず課金」と判断してはいけないという点です。大容量・高度なAPIに分類されていても、現行の課金対象リストに載っていなければ追加費用なしで使えるケースがあります。
業務自動化で使う大半のAPIは実質無料で、ユーザー情報取得やメール送信、Teamsチャネル操作といった一般用途はMicrosoft 365ライセンスの範囲内で完結します。
2026年時点の主な従量制課金対象

現行の従量制課金対象APIリストは限定的で、2025〜2026年で変動しています。特に注意すべき変化は以下の2つです。
-
Teams Export API
2025年8月25日から課金停止され、追加費用なしで利用可能になった。かつては1メッセージあたり$0.00075で課金されていた。
-
SharePoint / OneDrive assignSensitivityLabel API
1呼び出しあたり$0.00185(USD)で従量制課金が継続。機密ラベルの自動付与を大量に回すユースケースでは、月次コストの見積もりが必要。
課金対象は今後も変更される可能性があるため、大量呼び出しを計画するAPIについては、実装前に公式のMetered APIs and servicesページで最新の課金状況を確認する運用が安全です。
従量制課金APIを使う場合の前提条件

上記リストに掲載されている従量制課金APIを呼び出す場合のみ、以下の前提条件が適用されます。
標準APIや、大容量/高度なカテゴリでも課金対象外のAPIには適用されません。
-
Azureサブスクリプションへの紐付け
アプリケーションを課金対象のAzureサブスクリプションに関連付ける。設定していないと、従量制APIは呼び出せずエラーが返る。
-
機密クライアントアプリのみ対応
Webアプリ・Web API・デーモンサービスなどのシークレットを安全に保管できるアプリのみサポート。デスクトップ・モバイルアプリのようなパブリッククライアントは対象外。
-
グローバル環境限定
米国政府クラウド(GCC)・中国リージョンなどの国内クラウドではまだ利用不可。グローバル環境のみでの提供。
特に見落としやすいのが「機密クライアントアプリのみ」制約です。設計初期に「モバイルアプリからassignSensitivityLabelを叩く」といった構成を組むと、実装後半で従量制APIが呼べないことが判明する事故が起きます。
従量制課金APIを含むアプリは、必ずWebアプリ・Web API・デーモンサービス等の機密クライアントとして設計しましょう。
Copilot・Agent 365時代のMicrosoft Graph
Microsoft Graphは、Microsoft 365 CopilotやMicrosoft Agent 365の登場によって、Copilotのグラウンディングデータ提供元およびAgent 365のパッケージ管理APIの提供元として役割が広がっています
。本セクションでは、2026年時点で公式ドキュメントから確認できるGraphとAIレイヤーの接続構造を整理します。

M365 Copilotの裏側で動くGraph

Microsoft 365 Copilot(有償ライセンス)は、ユーザーの質問に応じて社内メール・ファイル・会議・チャットを横断的に参照します。
無償のMicrosoft 365 Copilot Chatは基本的にWebグラウンディング中心で、社内データへ自動的にはアクセスしません(開いているコンテンツ・明示添付ファイル・従量課金エージェント経由など明示的に指定した場合のみ社内データにアクセスします)。
M365 Copilotが社内データを横断参照する裏側で使われているのが、Microsoft Graphです。Copilotは各ユーザーのGraph権限の範囲内でのみデータにアクセスするため、権限設計を誤ると「他部門の機密ファイルがCopilot経由で参照可能になる」といった事故につながります。
つまりCopilot導入時に本当に検討すべきは「Copilotのライセンスをどう配布するか」よりも、Graph上のアクセス権限(Entra IDのグループ設計・SharePoint権限)をどう整えるかという設計論です。
Copilot Connectorsで外部データを取り込む

Microsoft Graphには、Microsoft 365内のデータだけでなく外部システムのデータを取り込むための「Microsoft 365 Copilot connectors」(旧 Microsoft Graph connectors)という機構が用意されています。
Salesforce・Confluence・ServiceNow・Jiraといった外部SaaSや、ファイルサーバー・データベースといったオンプレシステムのデータをGraphに登録すると、そのデータもCopilotが参照対象として使えるようになります。
これにより、Copilotの回答精度は「M365内のデータだけ」から「M365+主要業務システム全体」に広がります。
実装現場でも、Copilot導入プロジェクトの中盤以降で「主要業務システムをCopilot connectors経由で繋ぐ」フェーズが発生することがあります。
M365内のデータで要件が満たせるかを先に見極め、必要と判断できてから外部接続の設計に進むのが安全です。
Agent 365 Graph APIでエージェント管理

Microsoft Agent 365は、Microsoft 365テナント内で稼働する各種エージェントを、ライセンス・権限・監査ログの観点で一元管理するプラットフォームです。
2026年5月からAgent 365 Graph API(Package Management API)が提供され、管理者はテナント内で登録されているエージェントの一覧取得・詳細参照をプログラマティックに行えるようになりました。
読み取り系のListとGetはv1.0エンドポイントで提供されており、Update・Block・Unblock・Reassign等の管理操作系エンドポイントは引き続きプレビュー段階です。
以下の表で、Agent 365 Graph APIの主要な読み取り系エンドポイントを整理しました。
| API | 用途 | 必要ロール |
|---|---|---|
| List packages | テナント内の全エージェント一覧を取得 | AI admin または Global admin |
| Get Copilot package details | 特定エージェントのメタデータ詳細を取得 | AI admin または Global admin |
これらの読み取り系APIは、「テナント内でどんなエージェントが動いているか」を管理者が把握し、棚卸し・監査・レポート自動化を進めるための基盤として使えます。
加えてプレビュー段階の管理操作系APIでは、エージェントのブロック・アンブロック・所有者再割り当て等が可能です。利用には Microsoft Agent 365 ライセンスが必要で、ライセンスなしのテナントでは呼び出せない点も設計時に押さえておきましょう。
Copilot Studioでの業務エージェント構築

Microsoft Copilot Studioを使うと、Graphで取得できるデータをトリガー・アクションとして組み込んだカスタムエージェントをローコードで構築できます。
たとえば「Teamsの#salesチャネルに新規メッセージが投稿されたら、Graph経由でSharePointから顧客ドキュメントを取得し、要約付きで返信する」といった業務フローを、Graphの直接コード実装なしで作れます。
Dynamics 365全般や Dataverse など Graph 対象外のデータを扱う場合は、Copilot Studio 側で Power Platform コネクタや Dataverse コネクタを組み合わせるのが一般的です(Graph の対応リソースとしては Dynamics 365 Business Central のみが公式概要に明記されている点に注意)。
Copilot Studioのライセンス構造については、Copilot Studioの料金体系記事も併せて参考にしてください。
Graph本体の実装スキルと、Copilot Studioでのローコード実装スキルは、2026年時点の企業内AI開発で両方求められるようになっています。
Microsoft Graphのレート制限と2026年の廃止・移行動向

Microsoft Graphを本番運用する上で最も詰まりやすいのが、レート制限(スロットリング)と、2026年に予定されている廃止・移行対応です。
本セクションでは、これらの詰まりポイントを1箇所に集約して整理します。
レート制限(スロットリング)の仕組み

Microsoft Graphは、サービス・エンドポイント・スコープごとに個別の上限を設けており、上限を超えるとHTTP 429(Too Many Requests)エラーを返します。
制限の粒度はサービスによってかなり異なり、"テナントあたり一律のリクエスト数" のような単純な形にはなっていません。以下に代表例を挙げます。
-
Outlook(メール等)
アプリID × メールボックス単位で上限が管理される。単一メールボックスを大量に叩くアプリは、他メールボックスへのアクセスに影響を与えないよう独立して絞られる(公式値は変動あり)。
-
SharePoint / OneDrive
ライセンス数に応じたリソースユニット枠が5分単位で割り当てられる(目安として18,750〜93,750リソースユニット/5分規模)。単純なリクエスト数ではなく、操作コスト(リソースユニット)で測定される。
-
Teams
チャネル投稿・チャットメッセージ・チーム作成などエンドポイントごとに上限が分かれる。「Teamsで一律30回/秒」のような共通値はない。
-
Microsoft Entra ID(旧Azure AD)
テナント規模に応じたトークンバケット方式で管理される。単純な固定上限ではなく、リクエストの種類とテナントサイズで動的に決まる。
この構造から読み取れるのは、テナントあたり一律の回数・単位時間で設計してはいけないという点です。
実装前に対象エンドポイントの公式スロットリング条件を必ず個別確認し、複数エンドポイントを跨ぐ処理では単一の待機ロジックで一律制御できないことを前提に組みましょう。
429エラーが返ったときの対処

HTTP 429が返ったとき、Microsoft Graphは多くの場合レスポンスヘッダーに「Retry-After」を含めます。
この値(秒数)だけ待機してからリトライするのが公式の推奨実装です。
HTTP/1.1 429 Too Many Requests
Retry-After: 10
{
"error": {
"code": "TooManyRequests",
"message": "Rate limit is exceeded. Try again in 10 seconds."
}
}
この実装で押さえるべきポイントは、「Retry-After」を無視して即座にリトライするとその再試行も利用量に加算され、回復が遅れてスロットリングが継続する可能性がある、という点です。
一方、Retry-Afterヘッダーが付いていないケースもあります。その場合は指数バックオフ(1秒→2秒→4秒…と待機時間を倍にする)で数回だけリトライする実装が公式ガイダンスで推奨されています。
Microsoft Graph SDKを使っていれば、単発リクエストに対する「Retry-After」の待機処理は組み込み済みで自動的に扱われます。
ただしJSONバッチリクエスト内で個別に429が返ったリクエストはSDKの自動再試行対象外で、バッチ利用時は自前で対応する必要があります。
SDKを使わず生HTTPで実装している場合は、Retry-Afterがある場合はその値、ない場合は指数バックオフ、というリトライ処理を必ず組んでください。
Graph CLI・Toolkitの廃止動向

Microsoft Graphの周辺ツールのうち、Microsoft Graph CLIはリポジトリがアーカイブ済み、Microsoft Graph Toolkit(MGT)は非推奨扱いとなっています。両者は状況が異なるため、対応方針も分けて把握する必要があります。
Microsoft Graph CLI
CLIの公式リポジトリ(microsoftgraph/msgraph-cli)は2025年8月29日にアーカイブされ、read-only状態でアクティブなメンテナンスは行われていない。
代替候補としてはMicrosoft Graph PowerShell SDKが挙げられるが、Microsoftから正式な"移行先"としての案内は現時点で確認できていない。
CLIそのものの完全リタイア日も公式には明示されておらず、リポジトリのアーカイブが現状の一次情報。
Microsoft Graph Toolkit(MGT)
公式Toolkit retirementブログで 2026年8月28日をもって完全リタイア することが明示されている。
MGTには単一の代替が存在せず、Fluent UI Web ComponentsやMicrosoft Graph SDK等を用途に応じて選択・組み合わせて再実装するのが公式で示された方針。
SharePoint Framework(SPFx)ソリューションでMGTを組み込んでいる場合、再実装の複雑度が高い。
Toolkitの非推奨期間中は新機能追加なし・重大なアクセシビリティおよびセキュリティ問題のみ対応、という運用ポリシーになっています。
Graph CLIを使っている組織はリポジトリアーカイブ済みの前提でPowerShell SDK等の代替候補を早めに検討する、Graph Toolkitを使っている組織は2026年8月28日の期限に合わせて代替スタックへの移行計画を立てる、というのがそれぞれ安全な方針です。
Azure AD Graph APIの完全廃止と移行

もう1つ押さえるべき廃止動向は、旧世代のAzure AD Graph APIです。
既に廃止済みで、Microsoft Graphへの移行が完了していない場合はエンドポイント呼び出しがエラーになります。
以下の表で、Azure AD Graph APIからMicrosoft Graphへの主要な移行対応を整理しました。
| 旧エンドポイント | 新エンドポイント | 備考 |
|---|---|---|
| graph.windows.net/{tenant}/users | graph.microsoft.com/v1.0/users | ユーザー操作 |
| graph.windows.net/{tenant}/groups | graph.microsoft.com/v1.0/groups | グループ操作 |
| graph.windows.net/{tenant}/applications | graph.microsoft.com/v1.0/applications | アプリ操作 |
この移行では単純なURL置換で済むケースは少なく、レスポンス構造の差分・使えるフィルタ演算子の違い・ページング仕様の変更などを本番運用に合わせて調整する必要があります。
古い自作アプリで「graph.windows.net」を使っている場合は、優先度高で移行対応の棚卸しを進めるべきです。
その他の2026年廃止API
上記に加えて、2026年に段階的に廃止される主要APIは以下のとおりです。

-
Teams Live Events作成API
Microsoft Graph経由でのLive Events作成は既に非推奨で、公式廃止告知ではTeams Town Hallまたは Teams Webinars への移行が案内されている。
-
onlineMeeting.isBroadcastプロパティ
beta エンドポイントで 2026年3月31日以降、v1.0 エンドポイントで 2026年6月30日以降にプロパティ値の返却が停止される。
-
cloudPcUserSetting.notificationSettingプロパティ
2026年7月14日以降、当該プロパティのデータ返却が停止(一般的な 「notificationSetting」 ではなく Cloud PC の設定プロパティである点に注意)。
個別APIの廃止情報はMicrosoft Graph changelogおよびWhat's new in Microsoft Graphで継続的に公開されているため、四半期ごとに自社利用APIの状況を確認するのが安全です。
Microsoft Graph連携済みの業務Agentを最短導入するなら
Microsoft Graphの実装は、認証設計・アクセス許可のスコープ設計・エラーハンドリング・レート制限対応と、地味に工数がかかる領域の連続です。
ゼロから組むと要件定義から本番運用まで数ヶ月単位のプロジェクトになり、業務Agent側の設計に時間を割けないケースが多発します。
このレイヤーを担うのが、自社Azureテナント内で動くエンタープライズAIエージェント基盤です。AI総合研究所のAI Agent Hubは、Teamsから呼び出せる業務特化Agent群を1つのダッシュボードで統合管理し、Microsoft Graph連携済みの状態で即起動できる運用基盤として機能します。
- Microsoft 365・Entra ID・Teams連携をスクラッチせず即起動
Graphのスコープ設計・認証・エラーハンドリング・レート制限対応が実装済みの状態で業務Agentを組めます。要件定義から本番運用までのリードタイムを大幅に短縮できます。
- Copilot・Agent 365時代の統一APIを業務Agent層で活用
記事で扱ったCopilot・Agent 365向けAPIの新機能を、業務Agent側から利用可能。Copilot単体では届かない業務ワークフロー自動化まで踏み込めます。
- Entra ID認可と連動したAgent権限設計
Graphのアクセス許可とAgent単位のスコープを紐付け。誰がどのAgentでどのGraphリソースに触ったかを不変ログで残せます。
- データは100%自社Azureテナント内に保持
AIの学習対象から完全除外。Azure Managed Applicationsとして自社テナント内で動作が完了する設計です。
AI総合研究所の専任チームが、Microsoft Graph実装から業務Agent基盤の統合設計まで一貫して支援します。AI Agent Hubのサービスページで、Graph×Agentの実装例をご確認ください。
Graph連携済み業務Agentを最短導入
Graph実装をスクラッチせず即起動
Microsoft 365・Entra ID・TeamsのGraph実装をゼロから組むと数ヶ月単位。AI Agent HubはGraph連携済みの業務特化Agent群を1つのダッシュボードで統合管理し、権限・実行ログ・アクセス統制まで含めて即起動できる運用基盤として機能します。
まとめ
本記事では、Microsoft Graphについて、対応データとサービス・認証と権限管理・実装フロー・料金体系・Copilot/Agent 365時代の役割変化・レート制限と2026年廃止動向までを、2026年7月時点の最新情報で解説しました。
2026年時点で押さえておくべきポイントは次の3つです。
- Microsoft GraphはM365全域+Entra ID・Intune・Windows・Securityを単一エンドポイントで扱う統一APIプラットフォーム
- 2026年時点でM365 Copilotのグラウンディング元・Agent 365のパッケージ管理API提供元として役割が拡大し、Copilot導入時の権限設計とデータガバナンスの土台に位置づけられている
- 認証はEntra IDでのアプリ登録+OAuth 2.0が基本で、大半のAPIは追加費用なし・一部の従量制課金APIのみAzureサブスクリプション紐付けが必要
Copilot・Agent 365の導入を検討している企業では、まずGraph上のアクセス権限(Entra IDグループ設計・SharePoint権限)の棚卸しを起点にAI活用の設計論に組み込むのが、最も実用的な第一歩になります。Microsoft Graphは単なる開発者向けAPIから「Copilot・エージェント導入時のデータガバナンスの土台」へと役割を広げており、Graph Toolkit廃止(2026年8月28日)・Graph CLIアーカイブ済み等の廃止動向にも合わせてPowerShell SDK等の代替への移行検討を進めておくと後戻りが減ります。













