🛠️

Microsoft Teams の Power Apps でアプリがどの環境で実行されているのかを判断する

に公開

Project Oakdale により、Microsoft Teams で Power Apps を作成できるようになりました。たとえば特定のユーザーとのチャットにリンクするなど、Power Apps から Microsoft Teams の機能を呼び出したい場合があります。これは Microsoft Teams のディープリンクを使用することで解決できます。

https://docs.microsoft.com/ja-jp/microsoftteams/platform/concepts/build-and-test/deep-links?WT.mc_id=M365-MVP-5002941

ただし、以下のように呼び出すと必ずブラウザーが開いてしまいます。

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