はじめに
この記事は、Power Apps Advent Calendar 2023]シリーズ2 12月17日担当分の記事です。
TeamsのメッセージリンクをSharePointリストに格納し、Power Appsでアプリを作ったとき、ボタンをつけてワンタップで該当のメッセージに飛べるようにする。
ということをよくやるのですが、ある時、ユーザーさんにこう言われたことがありました。
「ボタンをクリックすると、毎回Microsoft Teamsを開きますか?とブラウザが開くので、直でTeamsアプリが開くようにしてほしいのですが、、」
確かに!!
ということで、今回はPower AppsからTeamsリンクを開いたときに、直でTeamsアプリが開くようにする方法をご紹介します。
Before
今までどうなっていたか?をサンプルデータを用いて紹介します。
Teamsメッセージ
チャネルメッセージをSharePointリストに格納したいとします。
今回はサンプルなので超シンプルにしています。
SharePointリスト
今回は、タイトル(1行テキスト)とMessage Link(ハイパーリンク)列を作成しました。
Power Automateクラウドフロー
フローは、チャネルに新しいメッセージが投稿されたら、メッセージの詳細を取得し、
上記のSharePointリストに格納させています。
これにより、TeamsのメッセージリンクをSharePointリストに格納することができます。
Power Appsキャンバスアプリ
画面に垂直ギャラリーを配置し、データソースは上記で作成したShrarePointリストにしています。
ギャラリー内に画像を配置し、OnSelectプロパティに以下を設定していました。
Launch(ThisItem.'Message Link')
Launch関数を用いて、SharePointリストのハイパーリンク列を起動し、Teamsの該当するメッセージに飛ぶことを想定していました。
learn.microsoft.com
しかし、①Power Appsでボタンを押す→②WebでTeamsが開く→③Teamsアプリが開く
という順番になっていました。
After
OnSelectプロパティを以下に変えることで解決しました。
Launch(Substitute(ThisItem.'Message Link',"https://teams.microsoft.com","msteams:"))
Substitute関数を使用して、["https://teams.microsoft.com"]を["msteams:"]に変更しました。
learn.microsoft.com
これをすることで、ボタンをタップしたときに、一瞬WebでTeamsが起動するのですが、
「Microsoft Teams(work or school)を開く」を一度クリックすれば、それ以降は直接Teamsアプリが開くようになります。
さいごに
Power Automateで取得したTeamsリンクをブラウザを経由せずに直接アプリで開く方法のご紹介でした。
今年はあまりブログを投稿できませんでした、、最近DataverseやAI Builderについて触り始めたので、その辺の記事も書けたらと思っています。
Power Apps Advent Calendar2回目の参加でした!良いお年を!