Power AppsやPower Automateで、PowerBIからワークスペースとかグループ、タイルの情報を引っ張ってこようと思うと、標準のコネクタではどうしても機能が足りない。
そこで、今回PowerBIとのカスタムコネクタを作成したので、その作り方をメモ。
Azureへアプリを登録する
まずはAzureへアプリの登録を行う。
続いて、アプリの登録を選択し、


「新規登録」を選んで、


アプリ名はいい感じに設定。リダイレクトURLは後程設定するので、「登録」を押す。


そしたらアプリができるので、クライアントID(アプリID)をメモし、「証明書とシークレット」へ。


「新しいクライアント シークレット」を選択し、PowerBIのコネクタに必要な有効期限を選択し、「追加」を押す。


そうすると、クライアントシークレットができるので、このキーをメモする。


ここで一旦Power Apps(Power AutomateでもOK)へ移動。
Power Appsでカスタムコネクタ作成
Power Appsへ移動したら、「データ -> カスタムコネクタ」へ移動し、カスタムコネクタ新規作成の「一から作成」を選択。


名前は適当に。


そしたら、こんな画面に来るので

- スキーマ:HTTPS
- ホスト:api.powerbi.com
と入力。そしたらセキュリティの設定に入る。
認証タイプは「OAuth 2.0」を選択。


残りの情報はこんな感じ。

- IDプロバイダー:Azure Active Directory
- Client id:AzureADでメモしたクライアントID
- Client secret:AzureADでメモしたシークレットキー
- LoginURL、TenantID:そのまま
- Resource URL:https://analysis.windows.net/powerbi/api
ここまで入力できたら、一度「コネクタの作成」を押す。するとリダイレクトURLが出てくるので、これをメモ。


そしたら再度Azureへ戻る。
AzureでリダイレクトURLの設定
Azureへ戻ったら、左のメニュー「認証」から「プラットフォームを追加」を押す。


WebアプリケーションのWebを選んで、


リダイレクトURLへさっきメモしたURLを貼りつけて、「構成」を押す。


ついでに、ここでアプリにアクセス許可をつけるので、左側のメニューから「APIのアクセス許可」を選択し、「アクセス許可の追加」を押す。


下の方にPowerBI Serviceがあるので押して、


「委任されたアクセス許可」を押す。


アクセス許可はそのコネクタにとって必要最小限な権限にしておくのが本当はいいのだけれど、ひとまず、
- Dashboard.Read.All
- Group.Read.All
- Workspace.Read.All
あたりにチェックを付けておき、
管理者の同意を行って、権限が付与されればOK。


そしたら、カスタムコネクタの作成は完了したので、Power Appsで接続テストを行う。
Power Apps(Power Automate)で接続テスト
Power Appsへ戻ったら、「4.テスト」を選択し、「新しい接続」を押す。


作成。


権限のあるアカウントを選択。


成功すると、接続が追加される。


これで、PowerBIへのカスタムコネクタの作成は完了。
実際にAPIの定義は次の記事で。
コメント