実行履歴を観察してカスタム値の入力に設定する値を推測してみる(後編)

実行履歴を観察してカスタム値の入力に設定する値を推測してみる(後編) Power Automate
実行履歴を観察してカスタム値の入力に設定する値を推測してみる(後編)

この記事は、Power Apps Advent Calendar 2023 12月24日担当分の記事です。
※ よかったよ、役に立ったよという方は、前編のQiitaの記事の方にいいね!をよろしくお願いします。

実行履歴を観察してカスタム値の入力に設定する値を推測してみる(前編) からの続きとなります。前編から続けて読んでいただけると嬉しいです。

Teamsコネクタ「チャットまたはチャネルでメッセージを投稿する」アクションの「投稿先」の選択肢の場合

Teamsには投稿先となるチャットにいくつかの種類があります。
チャットの種類については、気ままに勉強会 #67 ~Teams コネクタについて③~Miyakeさんのお話の中で、チャットには、1対1チャット、グループチャット、会議チャット、チャネルチャットがあるということ、また、「投稿者」によって「投稿先」の組み合わせについても、気ままに勉強会 #65 ~Teams コネクタについて③~ で解説いただきました。
登壇資料は「Teamsコネクタについて – Speaker Deck」こちらです。

アクションを見ると、チャネルチャットは、「Channel」で「グループチャット、会議チャット、1対1チャットは、「Gropu Chat」を選択することになりそうです。

実際に「Group chat」を選択した場合、会議チャットしか選択できませんでした。
「1対1チャット」や「グループチャット」は、「カスタム値の入力」で設定する必要があります。


「カスタム値の入力」で何を設定するかについて、詳しくは、Miyakeさんの登壇資料を「Teamsコネクタについて – Speaker Deck」をご覧いただくとよいかと思いますが、ここから先は、私が「カスタム値の入力」で何をいれたらいいのかを推測していった方法について記載していきたいと思います。

グループチャットや1対1チャットへの投稿方法を実行履歴から推測

まずは、選択肢から行う方法で会議チャットをアクションの設定を行います。
「Group Chat」の選択前を見ると「Add conversation ID」と表示されていることがわかります。
選択肢で会議チャットを選択していますが、きっと、内部的には「conversation ID」に変換されるということを意味しているのでしょう。

「Group Chat」の選択肢から「てすと会議」を設定しました。

実行してみると、「Group Chat」は、「19:meeting_MW19:meeting_MWU3ZGZlMjctZjYxMy00ZDEyLWI3M2EtNWEzMWVhYzZjZWY5@thread.v2」となっています。
これが「conversation ID」ということですね。

「てすと会議」をブラウザで表示します。アドレスバーには以下の形式のURLが表示されました。
「https://teams.microsoft.com/_#/conversations/19:meeting_MWU3ZGZlMjctZjYxMy00ZDEyLWI3M2EtNWEzMWVhYzZjZWY5@thread.v2?ctx=chat」

アクションの実行履歴の「Group Chat」欄に記載されている「conversation ID」がブラウザのアドレスバーに表示されているURLの「~ /conversations/」と「?ctx=chat」の間と一致しています。

次に会議チャットをブラウザで表示します。アドレスバーには以下の形式のURLが表示されました。
「https://teams.microsoft.com/_#/conversations/19:d657dfa81a114626b1ea8a170956de8c@thread.v2?ctx=chat」


「~ /conversations/」と「?ctx=chat」の間の値を「Group Chat」欄に「カスタム値の入力」で設定して実行してみます。
成功し、グループチャットに投稿できました。

自分用チャットに投稿できないのか?

ここで、ふと疑問に思った人はいらっしゃるでしょうか。
Teamsには、自分専用のチャットがあるんですよね。(正式名称は自分用チャットでいいのかしら?)

自分用チャットがどんな機能?という方は、太一さんが通称、黒いブログで以下の記事を書かれていますので、確認してみてください。
Microsoft Teams :自分用チャット(突然一番上に表示される「自分の名前+(あなた)」のチャットルーム) Chat with self – Art-Break .log : Taichi Nakamura

自分のメモ用にTeamsチャットを使われる方もいらっしゃると思います。
私も出先でスマホをいじっていて、あっ、これあとでチェックしようーっと思い、スマホから一時的にメモを貼っておいて、あとで、PCで確認するような場合に使ったりします。

実は、自分用チャットにPower Automateから投稿したいという質問を見たことがあります。

そのときに回答されていた方は、「今すぐ会議」でひとりで会議チャットを作成し、専用チャットとして利用すれば、会議チャットなので、「Group chat」の一覧で選択することができるから、やりたいことが実現できるのでは?ということでした。
(自分用チャットの機能が現れるまでは、こうした方法で専用チャットを作成している方がいらっしゃったと記憶しています。)

たしかに、自分用チャットではありませんが、実現したいことはできそうです。

自分用チャットに投稿できないかを実行履歴から推測してみる

実は、この記事を書くきっかけはこの自分用チャットにPower Automateから投稿できないのか?という質問を見かけたことでした。
グループチャットへの投稿と同じ要領でできないものか?

というわけで試してみました。
さきほどまでは「Group chat」への投稿だったので、今度は同じことを「Channel」で試してみます。
アクションの設定を行います。
「Channel」の選択前を見ると「Add channel ID」と表示されていることがわかります。

「Channel」の選択肢から「おしらせ📢」を設定しました。

実行してみると、「Channel」は、「19:920d1c70e0264fbc9ae74fc6ae56ead4@thread.tacv2」となっています。

「おしらせ📢」をブラウザで表示します。アドレスバーには以下の形式のURLが表示されました。
「https://teams.microsoft.com/_#/conversations/%E3%81%8A%E7%9F%A5%E3%82%89%E3%81%9B%F0%9F%93%A2?threadId=19:920d1c70e0264fbc9ae74fc6ae56ead4@thread.tacv2&ctx=channel」

アクションの実行履歴の「Channel」欄に記載されている「channelID」がブラウザのアドレスバーに表示されているURLの「~ threadId=」と「?ctx=channel」の間と一致しています。

「Group chat」と「Channel」で入力するIDが異なるため、微妙に異なりますが、何かの区切りと「&ctx」の間がターゲットになりそうな予感です。

自分用チャットをブラウザで表示してみましょう。アドレスバーには以下の形式のURLが表示されました。
「https://teams.microsoft.com/_#/conversations/48:notes?ctx=chat」
なんか短い。。。でも、「Group chat」と同じで「~ /conversations/」と「?ctx=chat」があるから、もしかして、もしかするかもです。

自分用チャットに投稿にチャレンジ

「Group chat」で「conversation ID」として、「カスタム値の入力」で「48:notes」設定して見ちゃいましょう。

「たな いきまーす」

実行します。ひとまず、フロー側はエラーなく成功しました。

とはいえ、成功しているけど、できていないということもあり得ます。エラーではなくても結果が伴わなければ意味がないです。。。果たして、自分用チャットに投稿できているか。。。

「Miyakeさん、できたよ!!!」(なぜ、Miyakeさんw

というわけで、自分用チャットへの投稿もできました。

さいごに

今回、実行履歴から推測しながら、「カスタム値の入力」に設定する値を推測してみました。

SharePoint のほかのアクションやPlannerなどほかのコネクタでも応用できると思います。
たいていの場合、なにかしらのIDを設定することを求められていることが多いからです。

ただし、必ずしも動くとは限りません。サービス側の仕様で、処理されないこともあり得るからです。
その点はご注意ください。(同じようにやったけど出来なかったといわれても困ります。。。

ブラウザのURLからチームIDやチャネルIDを確認する方法をずいぶん前に やまさんが以下の記事を書いてくださっています。
アプローチの仕方は似ているかなと思います。
Microsoft Teams のチームID、チャネルIDの確認方法 #PowerApps – Qiita

ちなみに私も以下の記事のおまけで似たようなことを記載してたりします。
Teamsの会議チャットにフローから通知を送る | たなの覚え書き (tana-techlog.net)

今回の記事を読んでいただいて、この事象に出会ったときだけのものと思われるのは少しもったいないかなと思います。
もし、ほかのコネクタでも同じような事象に出会ったら、似たようなアプローチで解決できないか試してみてください。
そうすることで、今までより見えるものが多くなり、より多くの気付きを得て、より多くのことができることができるようになると思います。

みなさんにとって、この記事が何かしらのお役に立てたら嬉しいです。



コメント