カスタムコネクタを使うと色んなことができてとても便利。
今回はMicrosoft Graphへのカスタムコネクタを作成して、O365コネクタでは持ってこれない、「関連度の高い人」をギャラリーで一覧表示してみる。
GraphAPIへのカスタムコネクタの作成
まずは以下の記事のようにGraphへのカスタムコネクタを作成する。
Power Apps(Power Automate) Graph APIへのカスタムコネクタの作成
Graph APIってめっちゃ便利!もともと用意されているOffice 365コネクタとかじゃ持ってこれない情報まで取得することができる。ということで、Power AppsでGraph APIの情報を使用したいことがあり、カスタムコネクタを...
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にクエリを追加する。
※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クエリを追加したので、画像のように個人アカウントのみを取得するようフィルターをかけることも可能。
コメント