Teams上でPowerAppsで作ったアプリを使用する際、Param関数を使うと色々な値を引っ張ってくることができる。
マニュアルが地味なところに合って見つけにくく、けっこう知らない情報もたくさん引っ張ってこれたので、ここにメモ。
Param関数
Param関数は、起動時にPowerAppsアプリに渡されたパラメータを取得する関数。
PowerAppsは起動するときにURLにパラメーターを持たせることができて、例えば
みたいにアプリを起動して、アプリ内で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」と取得できる。
コメント