はじめに
通常、Power Automate で Graph API を実行するには、プレミアムコネクタを利用する必要があります。
プレミアムコネクタは、有償ライセンスで利用可能となっており、Microsort 365 plan(for 365) の範囲では利用できません。
しかし、 Graph API の一部機能については、無償ライセンスでの利用が可能 です。
その方法を記載します。
謝辞
紹介する方法は、Microsoft MVPのHiroさん による記事に記載された方法です。
さらに、Microsoft MVPのPaulieさん により発見された手法とのことです。
いつも有益かつ貴重な情報をありがとうございます
概要
Power Automate から Graph API を利用する方法は3パターンです。
1. パターン1
アプリケーションのアクセス許可
Azureでアプリを登録 ⇒ アプリにアクセス許可を付与 ⇒ Power AutomateでGraph APIを実行(HTTP
アクション)
2. パターン2
委任されたアクセス許可(強い特権を必要とする場合)
Azureでアプリを登録 ⇒ アプリにアクセス許可を付与 ⇒ Power Automateでアクセストークンを取得しGraph APIを実行(HTTP
アクション)
パターン2の実装方法は以下を参照ください
3. パターン3
委任されたアクセス許可(強い特権を必要としない場合)
Power AutomateでGraph APIを実行(HTTP要求を呼び出します
アクション)
この パターン3が、プレミアムコネクタなしでの実行可能です
注意
今回紹介するアクションはプレビュー段階です。
今後、利用できなくなる可能性があります。
実現方法
上記の通り、パターン3
は、[HTTP with Azure ADコ]ネクタの[HTTP要求を呼び出します]
アクション を利用しますが、これはプレミアムコネクタです。
この[HTTP要求を呼び出します]
アクションと同等の機能を持つ、[Office 365 Groups]コネクタの[HTTP 要求を送信します(プレビュー)]
アクションは、プレミアムアクションではないのです。
各項目の設定値です。
GraphエンドポイントでないURIを指定するとエラーとなります。
このアクションはGraph API専用ということです。
権限スコープ
この[Office 365 Groups]コネクタの[HTTP 要求を送信します(プレビュー)]
アクションは、ある程度の権限を保持していますが、その権限スコープは公開されていません。
よって、大雑把ですが実行可能なGraph API リソースについて調べてみました。
全体的に、データの参照は可能、操作は不可なものが多い印象です。
Power Automate の標準コネクタで実現できる事は多いですから、上手く使い分けてください。
リソース | URI | 操作 | me | Users |
---|---|---|---|---|
ユーザー | users | ユーザー情報取得(他人も) | 〇 | 〇 |
情報更新 | × | × | ||
パスワード変更 | × | × | ||
差分を取得する | 〇 | 〇 | ||
組織 | directory | ライセンス割り当て | × | × |
削除済みオブジェクトの取得 | × | × | ||
ゴミ箱から削除 | × | × | ||
ゴミ箱から復元 | × | × | ||
グループ | groups | ユーザーがダイレクト メンバーになっているグループ、ディレクトリ ロール、管理単位を取得 | 〇 | 〇 |
追加・更新・削除 | 〇 | - | ||
メンバーの追加・削除 | 〇 | - | ||
Office Graph分析情報 | insights | ユーザーと共有されるドキュメントの一覧を含む計算された分析情報 | 〇 | × |
人気上昇中 | 〇 | 〇 | ||
ユーザーが表示または変更したドキュメント | 〇 | 〇 | ||
メッセージ | message | メールボックス内のメッセージを取得 | 〇 | 〇 |
メールの送信 | 〇 | 〇 | ||
ユーザーの受信トレイに定義されているすべての messageRule オブジェクト | 〇 | × | ||
カレンダー | calendar | 予定の取得 | 〇 | 〇 |
event | イベントの作成 | × | × | |
Outlookの設定 | mailboxSettings | メールボックスの設定を取得 | 〇 | × |
メールボックスの設定を更新 | × | × | ||
Todo | todo | To-doタスクリスト取得 | 〇 | × |
To-doタスクリスト作成 | 〇 | × | ||
セキュリティ | security | アラートの取得 | × | - |
security | セキュリティスコア取得 | × | - | |
informationProtection | 脅威評価取得 | × | - | |
連絡先 | contacts | 連絡先の取得 | 〇 | × |
連絡先の作成 | 〇 | × | ||
委任された権限の付与 | oauth2PermissionGrants | oauth2PermissionGrants を一覧表示する | × | × |
Onenote | onenote | 作成 | × | × |
取得 | × | × | ||
OneDrive | drive | OneDriveを取得する | 〇 | × |
SharaPoint | sites | サイトを取得する(rootサイト) | 〇 | - |
リストの情報を取得 | 〇 | - | ||
リストの作成・更新・削除 | × | - | ||
Teams | teams | チームの作成/編集 | 〇 | - |
チームの削除(グループ削除) | 〇 | - | ||
所属チームの一覧取得 | 〇 | 〇 | ||
チームをアーカイブ | 〇 | - | ||
メンバーの操作 | 〇 | - | ||
チャネルの一覧取得 | 〇 | - | ||
チャネルの作成・削除 | 〇 | - | ||
chats | メッセージの取得 | × | × |
まとめ
2022年5月現在、[Office 365 Groups]コネクタの[HTTP 要求を送信します(プレビュー)]
アクションを利用すると、Power Automate からプレミアムコネクタなしで Graph API を実行です。
このアクションはアクセス許可を有していますが、その権限スコープは公開されていません。
手軽にGraph APIを実行する際に、ご活用ください。