Power AppsでTeamsのチーム名を表示させる際に利用出来る関数として「MicrosoftTeams.GetAllTeams()」がありますが、この関数を使った場合表示出来るチーム名は自分が参加しているものに限られます。
ですが、実際にはこのようなニーズもあるのではないでしょうか。
- 自分が参加していないチームも表示させたい
- 特定の文字が含まれるチームだけ表示させたい
- 自分が所有者であるチームを表示させたい
こういった、細かい制限をする場合に使える関数をご紹介します。
※2024年2月時点の情報です。
チーム名を選択するドロップダウンを作成する
まずは、「MicrosoftTeams.GetAllTeams()」を利用した簡単なアプリを作成し、動作を確認してみましょう。
1.Power Appsを起動します。
2.キャンバスアプリの編集画面を開きます。
3.[データの追加] - [Microsoft Teams] - [接続の追加] - [接続]をクリックしてTeamsのコネクタを追加します。
4.[挿入] - [ドロップダウン]をクリックします。
※今回はドロップダウンを使用していますが、検索機能をつけたい場合はコンボボックスを使用するなど他のコントロールを使うことも可能です。
5.4で追加したドロップダウンを選択し、[詳細設定]タブからItemに
「MicrosoftTeams.GetAllTeams().value」を入力します。
6.チーム名を表示する場合は、Valueの設定欄で「description」を選択します。
※必要に応じて「displayName」や「id」を選択してください。
7.アプリのプレビュー画面にてドロップダウンをクリックすると自分が所属しているチームの一覧が表示されることを確認します。
Microsoft 365グループの関数を利用してチーム名を取得する
Teamsでチームを作成すると、裏Microsoft 365グループが作成されます。このことを利用しMicrosoft 365グループに関する関数を使ってMicrosoftTeams.GetAllTeamsでは出来ない細かい条件を使ってチーム名を取得します。(下記条件A,C)
下の表に条件ごとの関数利用例を記載するので参考にしてください。
※「Office365グループ」の関数を利用する場合は、事前に「Office365Group」のコネクタを追加(接続)しておく必要があります。
条件 |
関数 |
備考 |
A:テナント全体のTeamsチーム名を表示したい
|
Office365グループ.ListGroups().value |
・自分が参加していないグループ(Teamsチーム)も表示される ・Teamsに紐づくチーム以外のMicrosoft 365グループも表示される |
B:自分が所属しているTeamsチーム名のみ表示したい |
MicrosoftTeams.GetAllTeams().value |
|
C:自分が所有者であるTeamsチーム名のみ表示したい |
Office365グループ.ListOwnedGroupsV2().value |
・Teamsに紐づくチーム以外のMicrosoft 365グループも表示される |
チームに含まれる文字で表示するチーム名を絞り込む
上記の条件かつチームに含まれる文字で制限をかけたい場合は、Seach関数を利用することをおすすめします。
今回はゲストユーザーを追加できるチーム名に「Guest」という文字が含まれる運用にしている場合を例に記載します。
条件 |
関数 |
備考 |
D:テナント全体のチームかつ ゲストユーザー追加可のチームを表示したい |
Search(Office365グループ.ListGroups().value,"Guest-", "description") |
・Teamsに紐づくチーム以外のMicrosoft 365グループも表示される |
E:自分が所属しているチーム かつ ゲストユーザー追加可チームを表示したい |
Search(MicrosoftTeams.GetAllTeams().value,"Guest-", "description") |
|
F:自分が所有者であるチーム かつ ゲストユーザー追加可チームを表示したい |
Search(Office365グループ.ListOwnedGroupsV2().value,"Guest-", "description") |
・Teamsに紐づくチーム以外のMicrosoft 365グループも表示される |
おわりに
この記事は、Power Apps初心者の筆者が奮闘した結果のまとめです。
今後も初心者目線で勉強した内容を載せていきたいと思います。
皆さまに少しでも参考にしていただけたら幸いです!
飯田 美月(日本ビジネスシステムズ株式会社)
プロフェッショナルサービス本部でMicrosoft 365(主にSharePointやPower Platform)の利活用支援を行っています。
担当記事一覧