Power Automate で Microsoft Graph API を実行する方法 ─ Azure AD 認証も簡単!

この記事の内容

  • Microsoft Graph API の概要と「単一エンドポイント」というコンセプトを解説します
  • Graph Explorer を使って API を手軽に試す方法を紹介します
  • Power Automate の「HTTP with Azure AD」コネクタを使うと Azure AD 認証を省略できます
  • Graph Explorer の設定値を Power Automate にそのまま貼り付けるだけで API 呼び出しが完成します
  • グループ作成などの POST リクエストや、入力パラメーターの変数化まで実践的な手順を紹介します

Microsoft Graph API とは

Microsoft Graph API は、Microsoft 365・Windows・Enterprise Mobility + Security などのサービスに対して、単一のエンドポイントからアクセスできる API です。メール・カレンダー・OneDrive・Excel・ユーザー・グループなど、Microsoft 365 のほぼすべての機能を 1 つの入り口から操作できます。

エンドポイントは以下の 1 つだけです。

https://graph.microsoft.com

「API を叩けばなんでもできる」と聞いても、開発者でない方には難しく感じるかもしれません。しかし Power Automate を使えば、プログラミングの知識がなくても Graph API を簡単に呼び出せます。


Graph Explorer で API を試してみる

まず Graph Explorer にアクセスして、自分のアカウントでサインインします。アクセス許可を付与すると、実際の API リクエストをブラウザ上でテストできます。

自分のプロファイルを取得する

GEThttps://graph.microsoft.com/v1.0/me

実行すると、表示名・メールアドレス・ユーザー ID などが JSON 形式で返ってきます。

メールを取得する

GEThttps://graph.microsoft.com/v1.0/me/messages

メールボックスの読み取り権限に同意すると、受信トレイのメッセージ一覧と本文(HTML)が取得できます。

OneDrive のアイテムを取得する

GEThttps://graph.microsoft.com/v1.0/me/drive/root/children

自分の OneDrive 内のフォルダ・ファイル一覧が返ってきます。

ユーザー一覧を取得する(テナント全体)

GEThttps://graph.microsoft.com/v1.0/users

テナント内のユーザー数をカウントしたり、一覧を取得したりできます。

メールを送信する

POSThttps://graph.microsoft.com/v1.0/me/sendMail

リクエストボディに件名・本文・宛先を JSON で指定すると、Outlook から送信したのと同じようにメールを送れます。

このように Graph Explorer は、実行したい API を事前に安全に試せる便利なツールです。できることの多さは、Microsoft Graph REST API リファレンス で詳しく確認できます。


Power Automate で Graph API を呼び出す

Graph API を利用するには本来 Azure AD のアプリ登録やクライアント ID の取得が必要で、これがハードルになりがちです。しかし Power Automate には「HTTP with Azure AD」というプレミアムコネクタがあり、Azure AD 認証を自動で処理してくれます。

フローの作成

  1. Power Automate で新しいフローを作成します(ここでは「インスタント クラウド フロー」を選択)
  2. トリガーは「手動でフローをトリガーする」を選択します

HTTP with Azure AD コネクタの設定

「新しいステップ」から「HTTP with Azure AD」コネクタを追加します。

初回接続時は以下の設定が必要です。

項目
基本リソース URLhttps://graph.microsoft.com

この URL を入力してサインインすると、接続が作成されます。以降は Azure AD 認証を意識せず API を呼び出せます。


Graph Explorer と Power Automate の対応関係

Graph Explorer の各項目と、Power Automate の「HTTP with Azure AD」アクションの対応は以下のとおりです。

Graph ExplorerPower Automate
メソッド(GET / POST など)方法
URL要求 URL
要求ヘッダーヘッダー
要求本文要求本文

この対応関係を覚えておくだけで、Graph Explorer で試したリクエストをそのまま Power Automate に転記できます。


実践例① 自分のプロファイルを取得する(GET)

Graph Explorer での確認

GEThttps://graph.microsoft.com/v1.0/me

要求ヘッダー・要求本文ともに空のままで実行します。

Power Automate の設定

項目
方法GET
要求 URLhttps://graph.microsoft.com/v1.0/me
ヘッダー(なし)
要求本文(なし)

フローを保存してテスト実行すると、出力に displayName などのプロファイル情報が返ってきます。


実践例② テナント全体のユーザー一覧を取得する(GET)

Power Automate の設定

項目
方法GET
要求 URLhttps://graph.microsoft.com/v1.0/users
ヘッダー(なし)
要求本文(なし)

実行すると、テナント内のユーザー情報がまとめて返ってきます。


実践例③ グループを新規作成する(POST)

POST リクエストでは、リクエストボディと Content-Type ヘッダーが必要です。

Graph Explorer での確認

メソッド: POST
URL:

https://graph.microsoft.com/v1.0/groups

要求ヘッダー:

Content-Type:application/json

要求本文(必須プロパティ4つ):

{
  "displayName": "テストグループ",
  "mailEnabled": false,
  "mailNickname": "testgroup",
  "securityEnabled": true
}

Power Automate の設定

項目
方法POST
要求 URLhttps://graph.microsoft.com/v1.0/groups
ヘッダーContent-Type: application/json
要求本文上記 JSON をそのまま貼り付け

実行すると、Azure AD にグループが作成されます。Microsoft 365 管理センターのグループ一覧にも反映されます。


入力パラメーターの変数化

グループ名など実行時に変えたい値は、Power Automate のトリガー入力を使って変数化できます。

  1. 「手動でフローをトリガーする」トリガーに「入力の追加」→「テキスト」を追加します
  2. 入力名を例えば DisplayName とします
  3. リクエストボディの該当箇所を、動的なコンテンツから DisplayName に差し替えます
{
  "displayName": "<Power Automate の動的コンテンツ: DisplayName>",
  "mailEnabled": false,
  "mailNickname": "testgroup",
  "securityEnabled": true
}

これにより、フロー実行時に任意のグループ名を指定してグループを作成できます。


API リファレンスの活用方法

作成できるグループのプロパティを調べたいときは、Microsoft Graph REST API リファレンス を参照します。

  • 必須プロパティ: displayNamemailEnabledmailNicknamesecurityEnabled
  • オプションプロパティ: descriptiongroupTypesmembersowners など

まず Graph Explorer でサンプルを動かしてみて、必要なプロパティだけ抜き出して変更していく進め方がおすすめです。


まとめ

Power Automate の「HTTP with Azure AD」コネクタを使えば、Azure AD アプリの登録などの複雑な認証設定を一切意識せず、Microsoft Graph API を呼び出すことができます。手順をまとめると以下のとおりです。

  1. Graph Explorer でやりたい API を試して、メソッド・URL・ヘッダー・本文を確認する
  2. Power Automate の「HTTP with Azure AD」アクションに、確認した値をそのまま貼り付ける
  3. 必要に応じて入力パラメーターを変数化し、再利用しやすいフローに仕上げる

Power Automate の既存コネクタで目的のアクションが見つからないときは、Graph API リファレンスを確認してみてください。Microsoft 365 のほぼすべての機能を API 経由で自動化できます。プログラミングの知識がなくても、Power Automate があれば十分です。ぜひ気軽に試してみてください。