Power Apps カスタムコネクタでGraph API「people」を使う|自分と関連が深いユーザーを取得

カスタムコネクタを使うと色んなことができてとても便利。

今回はMicrosoft Graphへのカスタムコネクタを作成して、O365コネクタでは持ってこれない、「関連度の高い人」をギャラリーで一覧表示してみる。

スポンサーリンク

GraphAPIへのカスタムコネクタの作成

Graph API 「people」

今回使用するAPIは自分や指定したユーザーに関連する人たちを取得できる「people」。

関連する人たちはOffice Delveで表示されるユーザーたちのこと。

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

コメント

タイトルとURLをコピーしました