PowerAutomateのフローをAPIとして呼び出すことを前提としています。
はじめに
PowerAutomateのフローはトリガー出来るユーザーを制限出来ます。
以下のようにアクセス制限をしたフローを呼び出すにはテナント内のユーザーであることを証明するアクセストークンが必要です。
※Teamsのチャネルへメッセージを送信するフローを使います。
この記事で出来ること
PowerAutomateのアクセス制限付きフローを呼び出す際に必要なアクセストークンを取得
認証について
Microsoft Graphの認証の詳細な仕組みはこちらを参考にして下さい。
手順
1.AzureのEntraにアプリを作成
※こちらの記事を参考にしています。Microsoft Teamsにつないでみた【認証編】
Azure Portalにログイン
「Azure Active Directory」を選択しアプリの登録を行う
※テナントが作成されていない場合はテナントの作成から始めて下さい。
2. クライアントシークレットを発行
証明書とシークレットより新しいキーを発行します。大切に保管して下さい。
3. アクセストークンの取得
HULFT Square
とPostman
の2つの方法を記載します。
HULFT Square
※こちらの記事を参考にしています。
Microsoft Teamsにつないでみた【認証編】 ◎HULFT Squareの設定
コネクションの作成からはじめます。
アクセストークンを取得するスクリプトを用意します。
POST実行処理
パスに:<tenant_id>/oauth2/v2.0/token
・リクエスト/レスポンス/ヘッダ設定
こちらを参考にしてください。公式ドキュメント
mapping
クエリパラメータの値を入れて下さい。
キー | 値 |
---|---|
client_id | <1で作成したアプリのクライアントid> |
grant_type | client_credentials |
scope | https://service.flow.microsoft.com//.default |
client_secret | <2で取得したシークレットキー> |
実行するとアクセストークンが取得できます。
Postman
以下URLを叩きます。クエリパラメータの内容も忘れないように。
https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token
キー | 値 |
---|---|
client_id | <1で作成したアプリのクライアントid> |
grant_type | client_credentials |
scope | https://service.flow.microsoft.com//.default |
client_secret | <2で取得したシークレットキー> |
POSTするとアクセストークンが返ります。これで完了です。
最後に
HULFT Squareで取得したアクセストークンを使ってPowerAutomateを呼び出してみました。スクリプトの内容は割愛します。
PowerAutomateの呼び出しに成功していることが確認できます。