🛠️
Microsoft Teams の Power Apps でアプリがどの環境で実行されているのかを判断する
Project Oakdale によって Microsoft Teams で Power Apps を作成することができるようになりましたが、たとえば特定のユーザーとのチャットにリンクするなど、Power Apps から Microsoft Teams の機能を呼び出したいことがあると思います。これは Microsoft Teams のディープ リンクを使用することで解決できます。
ただし以下のようにして呼び出すと必ずブラウザーが開いてしまいます。
Launch("https://teams.microsoft.com/_#/l/chat/0/0?users=someone@example.com")
Web 版の Teams はまだ問題ないのですが、デスクトップ版の Teams の場合はそのまま遷移してほしいので、以下のように URI スキームで呼び出したいです。
Launch("msteams://teams.microsoft.com/l/chat/0/0?users=someone@example.com")
ということで Web 版の Teams と デスクトップ版の Teams のどちらで実行されているかを判断したいのですが、これは Microsoft Teams から Power Apps を呼び出すときに渡される URL パラメーターを取得することで判断できます。具体的には Param("hostClientType")
を呼び出すことで実行されている環境を取得することができます。
- Web 版の場合
- デスクトップ版の場合
他にもたとえば Param("theme")
とすれば Microsoft Teams で適用しているテーマの情報が取れたりもするので、テーマに合わせてデザインを変えるようなこともできます。
Discussion