PowerApps TeamsでPowerAppsを起動したときにParam関数で取得できる値色々|テーマ、起動デバイス情報、チャットIDとか

Teams上でPowerAppsで作ったアプリを使用する際、Param関数を使うと色々な値を引っ張ってくることができる。

マニュアルが地味なところに合って見つけにくく、けっこう知らない情報もたくさん引っ張ってこれたので、ここにメモ。

スポンサーリンク

Param関数

Param関数は、起動時にPowerAppsアプリに渡されたパラメータを取得する関数。

PowerAppsは起動するときにURLにパラメーターを持たせることができて、例えば

https://apps.powerapps.com/play/アプリのID?tenantId=テナントID&param1=parapara

みたいにアプリを起動して、アプリ内でParam(“param1”)と呼び出すと、テキスト「parapara」を取得することができる。

Param関数を使ってシステムから取得できる値

前述の通りParam関数はこちらから渡したパラメータを取得できる関数だけど、Teams上でPowerAppsを起動した場合はシステムから渡されるパラメータを取得することもできる。

けっこう使えそうなパラメータもあるので、軽くまとめてみた。

locale

Param(“locale”)で、Teamsの言語設定を持ってくることができる。

日本語の時は「ja-jp」、アメリカ英語の時は「en-us」みたいに値を取得することができる。

この値を使えば、PowerAppsアプリの多言語化対応ができそう。

公式はこちら

theme

Param(“theme”)で、ユーザーが設定しているTeamsのテーマを持ってくることができる。

値は

  • default
  • dark
  • contrast

の3種類で、テーマごとにUIの色を変えたい、みたいな凝ったデザインにしたいときに使えそう。

channelId, groupId, chatId, teamId, subEntityId

Param関数でこれらのパラメータを指定すると、それぞれのIDを持ってくることができる。

PowerAppsのアプリをどこに埋め込むかによって取得できる値は違って、例えばアプリをチャンネルのタブに埋め込むと、チャットID以外が取得できて、

アプリをチャットに埋め込めばチャットIDを取得することができる。

subEntityIdはよくわからないw

この値を保存しておいて、Launchとディープリンクを組み合わせれば、そのチャットやチャンネルに飛ぶ!みたいなこともできそう。

ChannelType

Param(“ChannelType”)と指定すると、チャンネルのタイプを取得できる。

値は「Private」と「Regular」の2種類あって、こんな感じで取得できる。

公式はこちら

HostClientType

Param(“HostClientType”)と指定すると、起動しているデバイスなどの情報を取得できる。

例えばブラウザで実行すると、こんな感じで「web」という情報や

デスクトップアプリで実行すると、「desktop」といった値が返ってくる。

他にも「ios」や「android」といった値があって、この値を使えば「モバイル」か「デスクトップ」かによって

  • トップの画面を変える
  • 表示するコントロール(UIを変える)

みたいなことができるかもしれない。

公式はこちら

UserTeamRole

Param(“UserTeamRole”)と指定すると、ユーザーの権限が取得できる。

値は

  • 0 (= Admin)
  • 1 (= User)
  • 2 (= Guest)

の3種類で、この値を使えば権限によって項目の表示/非表示を変える、みたいなことができそう。

公式はこちら

TeamType

Param(“TeamType”)と指定すると、チームのタイプが取得できる。

チームのタイプはOffice 365 for Educationでのチーム種類にスタンダードを加えた5種類のよう。

基本は「0(= Standard)」が返ってくるものと思っていれば間違いないかな。

公式はこちら

おまけ:source

Param(“source”)で、アプリがどこで実行されているか?を取得できる。

Teamsのタブで実行すると「teamstab」と取得できるし、

ブラウザで実行すると「portal」と取得できる。

公式サイトは見つからなかったので、このsourceで取得できる値はこちらのサイトを参考にさせていただいた。(外部サイト)
How To Build Microsoft Teams-Aware Power Apps - AvePoint Blog
Are you familiar with Power Apps but need help creating apps that are Teams-aware? Click here to learn how to make a Mic...

コメント

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