Slide 1

Slide 1 text

Power Automateで Graph API 実行が 無料?! 気ままに勉強会 #17

Slide 2

Slide 2 text

Miyake Mito @MiTo60448639 https://qiita.com/MiyakeMito 株式会社アイシーソフト Technical Manager www.icsoft.jp https://speakerdeck.com/ miyakemito

Slide 3

Slide 3 text

Power Automate と Power Virtual Agents で ゲームを作ってます ⚫ オセロ ⚫ 神経衰弱 ⚫ どうぶつしょうぎ ⚫ WORDL

Slide 4

Slide 4 text

本日の参考サイト ■ Power Automate でプレミアムアクションを使わずに Teams のチャネルや チームにメンションを送る(Hiroさん) https://mofumofupower.hatenablog.com/entry/mention_teams_channel ■ How to easily export from Power Automate to an Excel file without premium actions or apply to each. (Paulieさん) https://youtu.be/AA-D4lgjR3o ■ Microsoft Graph ドキュメント https://docs.microsoft.com/ja-jp/graph/?view=graph-rest-1.0

Slide 5

Slide 5 text

本日の内容 ■ Power Automate でプレミアムコネクタなしで Graph APIを利用する https://qiita.com/MiyakeMito/items/7aa6d52f0c3dfc5d2823 https://qiita.com/MiyakeMito

Slide 6

Slide 6 text

無料… 追加費用なし… みなさん、 「無料」とか、 「追加費用なし」っていう言葉、好きですか?? 私は好きです! 大好きです!!

Slide 7

Slide 7 text

注意 プレミアムコネクタを利用します。有料ライセンスが必要です。 運用環境での使用は許可されていませんが、開発向けプランや開発 者テナントであれば無償でお試しいただけます。 ■ 開発者向けプラン https://powerapps.microsoft.com/ja-jp/developerplan/ ■ Microsoft 365 開発者テナント https://developer.microsoft.com/ja-jp/microsoft-365/dev-program Graph API 利用に プレミアムコネクタが 不要かも!!

Slide 8

Slide 8 text

本当の注意。 紹介するアクションはプレビュー段階です。 今後、利用できなくなる可能性があります。

Slide 9

Slide 9 text

Graph API について おさらい

Slide 10

Slide 10 text

Graph APIとは ① ◼ M365、AAD、EMSなどの情報を取得、更新できる RESTful Web API ◼ エンドポイントはhttps://graph.microsoft.com Graph API アプリ

Slide 11

Slide 11 text

Graph APIとは ② Microsoft 365 User, Groups, Organizations Outlook / Exchange SharePoint, OneDrive Teams Planner To Do Excel OneNote Delve Microsoft Search アクセス可能なソリューション Windows 10,11 Activities Device Relay Commands 通知 Enterprise Mobility + Security Azure AD Intune Advanced Threat Analytics Advanced Threat Protection Identity Manager Dynamics 365 Business Central などなど

Slide 12

Slide 12 text

Powe Automateで利用する手順 アプリの登録 アプリにアクセス許可を付与 アプリケーションの 許可でAPI実行 委任されたアクセス許可でAPI実行 初 回 の み 問 い 合 わ せ の 度 に Graph API 実行 Graph API 実行 アクセストークン 発行 Graph API 実行 パターン1 パターン2 パターン3 これが 一番手軽

Slide 13

Slide 13 text

委任されたアクセス許可 ◼ HTTP with Azure ADコネクタ > HTTP要求を呼び出します ◼ HTTP with Azure AD コネクタはある程度の権限を保持している ➢ 実行できる権限スコープの一覧は公開されていない ➢ フローを実行した際に権限エラーが発生する場合、アプリケー ションの許可を利用する、またはトークンを取得する必要がある 私の権限で実行して どうぞ プレミアム

Slide 14

Slide 14 text

無償でGraphを 利用できちゃうかも な手順

Slide 15

Slide 15 text

Powe Automateで利用する手順 アプリの登録 アプリにアクセス許可を付与 アプリケーションの 許可でAPI実行 委任されたアクセス許可でAPI実行 初 回 の み 問 い 合 わ せ の 度 に Graph API 実行 Graph API 実行 アクセストークン 発行 Graph API 実行 パターン1 パターン2 パターン3 ここが無償で イケるかも!

Slide 16

Slide 16 text

Power AutomateでGraph API 「委任されたアクセス許可」が可能? NO Power Automateで Graph API を呼びたい 権限エラーなど YES 実行可能 パターン1 パターン2 パターン3 強力な権限が必要な 要求は難しい 「HTTP with Azure AD」> 「HTTP要求を呼び出します」 アクションで実行 「Office 365 Groups」> 「HTTP 要求を送信します」 アクションで実行

Slide 17

Slide 17 text

必要なアクセス許可を調べる https://docs.microsoft.com/ja-jp/graph/ で使いたいAPI情報を調べると書いてある 委任されたアクセス許可が 可能であること

Slide 18

Slide 18 text

ノンプレミアムなAPIの呼び出し Office 365 Groups > HTTP 要求を送信します(プレビュー) HTTPメソッド URI 要求本文 Defaultでコンテンツタイプの 指定がされていてイカしてる! ヘッダー

Slide 19

Slide 19 text

403… Office 365 Groups コネクタは ある程度の権限を保持しているが、 権限エラーが発生する場合は・・・ ➢ アプリケーションの許可でアク セス権限を付与できるなら ➢ できない場合は アクセストークンを発行する 私に任せて下さい!

Slide 20

Slide 20 text

可能な操作 ① リソース URI 操作 me Users ユーザー users ユーザー情報取得 〇 〇 ユーザー情報更新 × × パスワード変更 × × 差分を取得する 〇 〇 組織 directory ライセンス割り当て × × 削除済みオブジェクトの取得 × × ゴミ箱から削除 × × ゴミ箱から復元 × × グループ groups ユーザーがダイレクト メンバーになっているグループ、ディレクトリ ロール、管理 単位を取得 〇 〇 追加・更新・削除 〇 - メンバーの追加・削除 〇 - Office Graph分析情報 insights ユーザーと共有されるドキュメントの一覧を含む計算された分析情報 〇 × 人気上昇中 〇 〇 ユーザーが表示または変更したドキュメント 〇 〇 メッセージ message メールボックス内のメッセージを取得 〇 〇 メールの送信 〇 〇 ユーザーの受信トレイに定義されているすべての messageRule オブジェクト 〇 × カレンダー calendar 予定の取得 〇 〇 event イベントの作成 × × Outlookの設定 mailboxSettings メールボックスの設定を取得 〇 × メールボックスの設定を更新 × × Todo todo To-doタスクリスト取得 〇 × To-doタスクリスト作成 〇 × 標準コネクタも、あり〼

Slide 21

Slide 21 text

可能な操作 ② リソース URI 操作 me Users 連絡先 contacts 連絡先の取得 〇 × 連絡先の作成 〇 × 委任された権限の付与 oauth2PermissionGrants oauth2PermissionGrants を一覧表示する × × Onenote onenote 作成 × × 取得 × × OneDrive drive OneDriveを取得する 〇 × SharaPoint sites サイトを取得する 〇 - リストの情報を取得 〇 - リストの作成・更新・削除 × - Teams teams チームの作成/編集 〇 - チームの削除(グループ削除) 〇 - 所属チームの一覧取得 〇 〇 チームをアーカイブ 〇 - メンバーの操作 〇 - チャネルの一覧取得 〇 - チャネルの作成・削除 〇 - chats メッセージの取得 × × セキュリティ security アラートの取得 × - security セキュリティスコア取得 × - informationProtection 脅威評価取得 × - 標準コネクタも、あり〼

Slide 22

Slide 22 text

DEMOします ■ チームを作成する https://docs.microsoft.com/ja-jp/graph/api/team-post?view=graph-rest- 1.0&tabs=http 「チームの作成」アクションと比べて・・・ ✓ M365グループからチームを作成可能 ✓ 同時にチャネルを作成可能 ✓ チームの設定をカスタム可 ✓ アプリのインストール可

Slide 23

Slide 23 text

まとめ Graph API が for 365 のライセンス範囲で 実行できる! だからもう、やるしかない!!

Slide 24

Slide 24 text

ありがとうございました