カスタムコネクタを使うと色んなことができてとても便利。
今回はMicrosoft Graphへのカスタムコネクタを作成して、O365コネクタでは持ってこれない、「関連度の高い人」をギャラリーで一覧表示してみる。
GraphAPIへのカスタムコネクタの作成
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にクエリを追加する。

そしてヘッダーの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クエリを追加したので、画像のように個人アカウントのみを取得するようフィルターをかけることも可能。

コメント