以前、C#でAzureのシークレットトークンの期限チェックについて記事を書きましたが、今回はPowerAutomateでの実装になります
これでバッチサーバー等の環境がなくても対応はできると思います
C#での記事は以下になります
-
-
Azure上のシークレットトークンの期限通知を実装する - ナストンのまとめ
GraphAPIを実装する際に使用することが多いシークレットトークンですが、期限が近付いても通知する機能は現状ないような ...
続きを読む
準備
今回実装するPowerAutomateでは『HTTP』アクションを使用するため、プレミアムアカウントが必要となります
開発プランで実装しました、開発プランについては以下の記事を参考にしてみてください
-
-
PowerAutomateでDeepLを使ってみる - ナストンのまとめ
以前、C#からDeepLを呼び出してテキストの翻訳及びファイル内の翻訳を実施しましたが、いつのまにかLogicAppsや ...
続きを読む
アクセストークンを取得する
tematIdやclientId、cilentSecretはあらかじめ変数として用意しておきます。要素は以下のように設定します
要素 | 値 |
---|---|
URL | https://login.microsoftonline.com/@{variables('tenatId')}/oauth2/v2.0/token |
Method | POST |
Content-Type | application/x-www-form-urlencoded |
Body | grant_type=client_credentials&scope=https://graph.microsoft.com/.default&client_id=@{variables('clientId')}&client_secret=@{variables('clienetSecret')} |
アクセストークン取得後は、JSON解析でアクセストークンをつける形にします

Azureアプリを取得する
要素 | 値 |
---|---|
URL | https://graph.microsoft.com/v1.0/applications?$filter=appId eq '@{items('appIdsArray分繰り返す')}' |
Authorization | Bearer body('アクセストークン取得解析')?['access_token'] |
Content-type | application/json |
Azureアプリの情報を取得した後もJSON解析を使用してシークレットトークンの情報を使用できる状態にします

取得したシークレットトークン情報で判定する
期限間近判定は以下のようにdateDifferenceを使用して日にちで算出しています
dateDifference(variables('nowDate'),formatDateTime(body('passwordCredentialsの解析')?['endDateTime'], 'yyyy/MM/dd'))

これであとは対象のデータを変数に代入したりしてメールの本文として設定すればC#版と同じような動作になります
会社紹介
私が所属しているアドバンスド・ソリューション株式会社(以下、ADS)は一緒に働く仲間を募集しています
会社概要
「技術」×「知恵」=顧客課題の解決・新しい価値の創造
この方程式の実現はADSが大切にしている考えで、技術を磨き続けるgeekさと、顧客を思うloveがあってこそ実現できる世界観だと思っています
この『love & geek』の精神さえあれば、得意不得意はno problem!
技術はピカイチだけど顧客折衝はちょっと苦手。OKです。技術はまだ未熟だけど顧客と知恵を出し合って要件定義するのは大好き。OKです
凸凹な社員の集まり、色んなカラーや柄の個性が集まっているからこそ、常に新しいソリューションが生まれています
ミッション
私たちは、テクノロジーを活用し、業務や事業の生産性向上と企業進化を支援します
-
-
アドバンスド・ソリューション株式会社
アドバンスド・ソリューションは主にMicrosoft製品を使用して、企業の生産性向上に取り組んでいます。要件定義から導入 ...
サイトへ移動