- Microsoft Graph とは?
- Microsoft Graphでアクセスできる主なデータ
- Microsoft Graph でできること
- Microsoft Graphの使用例
- API(Application Programming Interface)とは
- API プラットフォームのメリット
- よく使われているアプリと API の関係
Microsoft Graph とは?
Microsoft Graph (マイクロソフトグラフ) は、Microsoft が提供する API プラットフォーム で、Microsoft 365 のさまざまなサービスやデータにアクセスできる統一されたエンドポイントです。
開発者はこれを使って、Microsoft 365、Enterprise Mobility + Security、Windows などの Microsoft クラウドサービスと連携するアプリケーションを構築できます。
主な特徴
- 統一 API エンドポイント : https://graph.microsoft.com を通じて、複数の Microsoft サービスにアクセス可能。
- RESTful API : HTTP リクエスト(GET, POST, PATCH, DELETE)でデータを操作。
- OAuth 2.0 認証 : 安全なアクセス制御を提供。
- リアルタイムデータ : ユーザーのメール、カレンダー、ファイル、Teams チャットなどにリアルタイムでアクセス。
Microsoft Graphでアクセスできる主なデータ
Outlook
メール、カレンダー、連絡先
OneDrive
ファイル、フォルダ
Teams
チャット、チーム、チャネル
EntraID (Azure AD)
ユーザー、グループ、ロール
SharePoint
サイト、リスト、ドキュメント
Planner / To Do
タスク、プラン
Microsoft Graph でできること
1. ユーザー情報の取得・管理
- ユーザーのプロフィール情報を取得(名前、メール、部署など)
- 所属グループや役職の確認
- Azure AD 上のユーザーやグループの作成・更新・削除
2. メール・カレンダーの操作(Outlook)
- ユーザーの受信トレイからメールを取得・送信
- カレンダー予定の取得・作成・更新・削除
- 会議のスケジュール調整や出席者の確認
3. ファイルの操作(OneDrive / SharePoint)
- ユーザーの OneDrive や SharePoint 上のファイルを取得・アップロード・削除
- ファイルの共有リンクを作成
- フォルダ構造の取得やナビゲーション
4. Microsoft Teams の連携
- チームやチャネルの一覧取得
- チャットメッセージの送受信
- 会議のスケジュールや参加者情報の取得
5. タスク管理(Planner / To Do)
- タスクの取得・作成・更新
- タスクの進捗状況や期限の管理
- プロジェクト単位でのタスク整理
6. 通知・アラートの送信
- ユーザーに通知を送る(アプリ内通知やメール)
- Webhook を使ってリアルタイム通知を受け取る
7. Power BI との連携
Microsoft Graphの使用例
1. メール・予定表・連絡先の操作
用途:ユーザーの受信トレイからメールを取得、送信、削除、予定表イベントの作成・更新、連絡先の管理など。
例:
GET /me/messages:自分のメール一覧を取得
POST /me/sendMail:メール送信
2. Teamsとの連携
用途:チャットメッセージの取得、会議のスケジュール、チームやチャネルの作成・管理。
例:
GET /teams/{id}/channels:チーム内のチャネル一覧を取得
POST /teams/{id}/scheduleMeeting:会議のスケジュール
3. SharePoint・OneDriveのファイル操作
用途:ドキュメントライブラリの取得、ファイルのアップロード・ダウンロード、メタデータの取得。
例:
GET /sites/{site-id}/drive/root/children:ルートフォルダのファイル一覧取得
4. セキュリティ・ID管理
用途:リスク検出、アラートの取得、条件付きアクセスの適用、ユーザーの認証状態の確認。
例:
GET /security/alerts:セキュリティアラートの取得
GET /identityProtection/riskyUsers:リスクのあるユーザー一覧取得
5. 検索・ナレッジ探索
用途:Microsoft 365全体を横断した検索(メール、ファイル、Teamsなど)。
例:
POST /search/query:カスタムクエリによる検索
API(Application Programming Interface)とは
アプリケーション同士がデータや機能をやり取りするためのルールや窓口です。
また、プラットフォームとは、いろいろな API をまとめて提供する仕組みであり、開発者が簡単にアクセスできるように、統一された方法・認証・ドキュメントなどが整備されています。
例:天気アプリが気象庁のデータを取得するのも API を通じて行われます。
API プラットフォームのメリット
一貫性
どのサービスでも同じような方法でアクセスできる
セキュリティ
認証・認可(OAuth 2.0 など)が統一されている
拡張性
新しいサービスや機能が追加されてもすぐに使える
開発効率
ドキュメントやツールが整っていて開発しやすい
API を使っているアプリは、実は私たちが日常的に使っているものばかりです。API は「アプリ同士をつなぐ橋渡し」のような役割をしているので、多くの人気アプリやサービスが裏側で API を活用しています。
よく使われているアプリと API の関係
1. 天気アプリ
使っている API:気象庁、OpenWeatherMap、Weatherstack など
目的:現在の天気や週間予報を取得
2. 地図・ナビアプリ(Google Maps、Yahoo!地図など)
使っている API:Google Maps API、Mapbox API
目的:地図表示、ルート検索、現在地取得
3. SNS アプリ(Instagram、Twitter、Facebook)
目的:投稿の取得・投稿、ユーザー情報の取得、いいね・コメントの操作
4. チャットアプリ(Slack、Microsoft Teams、LINE)
使っている API:Slack API、Microsoft Graph、LINE Messaging API
目的:メッセージの送受信、ボットの作成、通知の送信
5. ECサイト・ショッピングアプリ(Amazon、楽天、Shopify)
使っている API:Amazon Product Advertising API、楽天 API、Shopify API
目的:商品情報の取得、注文処理、在庫管理
6. 決済アプリ(PayPay、Stripe、PayPal)
目的:支払い処理、取引履歴の取得、ユーザー認証
7. 翻訳アプリ(Google 翻訳、DeepL)
使っている API:Google Translate API、DeepL API
目的:テキストの翻訳、言語検出