カスタムコネクタを使うと色んなことができてとても便利。
今回はMicrosoft Graphへのカスタムコネクタを作成して、O365コネクタでは持ってこれない、「関連度の高い人」をギャラリーで一覧表示してみる。
GraphAPIへのカスタムコネクタの作成
まずは以下の記事のようにGraphへのカスタムコネクタを作成する。


Power Apps(Power Automate) Graph APIへのカスタムコネクタの作成
Power AppsでGraph APIの情報を使用したいことがあり、カスタムコネクタを作成したので、作り方をメモ。Power BI APIへのカスタムコネクタのつくり方はこちらAzureへアプリを登録するまずはAzureへアプリの登録を行...
Graph API 「people」
今回使用するAPIは自分や指定したユーザーに関連する人たちを取得できる「people」。
Entra IDでアクセス許可を付与
peopleを使用するにあたって、「People.Read.All」アクセス許可が必要なのでEntra IDで設定する。
Entra IDへ移動して、[アプリの登録]から上の記事で作ったアプリを選択する。


そしたら、[APIのアクセス許可]を選んで[+アクセス許可の追加]を押す。


下の方にMicrosoft Graphがあるので、


[委任されたアクセス許可]を選択して、


People.Read.Allをチェックする。


最後に管理者の同意を与えれば準備完了。


カスタムコネクタの定義の作成
まずは作成したカスタムコネクタにpeopleを呼び出す定義を追加する。
カスタムコネクタへ移動して編集ボタンを押す。


[3.定義]へ移動し、[+新しいアクション]を押してアクションを追加。


概要と説明はマニュアルの文言を適当に拝借して、操作IDは自分の好きな名前を付ける。


続いて要求を作成。[+サンプルからのインポート]を選択して、

- 動詞:GET
- URL:https://graph.microsoft.com/v1.0/me/people?$filter=””&$select=””&orderby=””
- ヘッダー:Content-Type
と入力し、インポートを押下。
すると[要求]が完成。
※topやskipを使いたい人はURLにクエリを追加する。

※topやskipを使いたい人はURLにクエリを追加する。

そしてヘッダーのContent-Typeを編集して、規定値に「application/json」を入れる。


最後に「応答」。defaultをクリックして、


この画面で[+サンプルからのインポート]を押す。


ヘッダーと本文に入れる内容はGraph Exploreから使用して取得するのが楽。
Graph Explorerで「https://graph.microsoft.com/v1.0/me/people」を実行すると、[応答のプレビュー]と[応答ヘッダー]が表示されるので、


[応答のプレビュー]をコピーして[本文]へ貼りつけ、続いて[応答ヘッダー]を{}を除いてコピーして[ヘッダー]へ貼りつけ


そしてインポートを押すと[応答]が作成される。


これでコネクタは完成なので[コネクタの更新]を行う。


[4.テスト]へ移動して、作った操作を選択し[テスト操作]を実施。


無事成功。


これでカスタムコネクタの準備は完了。
Power Appsのギャラリーに表示
Power Appsアプリを開いて、データからコネクタを追加。


画面にギャラリーを追加して、


ギャラリーのItemsプロパティにコネクタを呼び出す式を書くと、


無事コネクタとつながる。


そしたらギャラリー各コントロールに以下を設定。
- Title1ラベルのText:ThisItem.displayName
- Subtitle1ラベルのText:ThisItem.userPrincipalName
ついでにO365コネクタを追加して、ギャラリーの画像コントロールのImageプロパティに「Office365ユーザー.UserPhotoV2(ThisItem.id)」を書くと、そのユーザーの写真が出てくる。


コネクタにfilterクエリを追加したので、画像のように個人アカウントのみを取得するようフィルターをかけることも可能。


コメント