#選択したメッセージへの返信機能の作成
##前置き
本記事はPowerAppsでTeams投稿アプリを作成する①の続きです。
##作成するもの
前記事で、PowerAppsの画面上で選択したチーム・チャンネルに、任意のメッセージをサブジェクト付きで投稿する機能を実装しました。今回はこれに、既に投稿されたメッセージへの返信の形で投稿する機能を追加していきます。
また、今回もひとまずポカよけとかは考えず最低限動くだけの処理を実装することにします。
アプリの操作イメージはこんな感じ↓
- コンボボックス1にチーム一覧を表示させ、投稿したいチームを選択する
- コンボボックス2に、↑で選択したチーム内のチャンネル一覧を表示させ、投稿したいチャンネルを選択する
- コンボボックス3に、↑で選択したチャンネル内のメッセージ一覧を表示させ、返信したいメッセージを選択する
- 投稿したい内容(本文)を入力する
- 返信ボタンを押し、選択したチャンネルに投稿する
##1.コントロールの配置
前回作成したアプリに、下図の通り返信先メッセージ選択コンボボックス( ComboBox_Message
)とTeams返信ボタン( Button_Reply
)を追加します。
##2.メッセージ一覧の取得
ComboBox_Message
コンボボックスでメッセージ一覧を表示できるようにします。
Teamsのメッセージ一覧はGetMessagesFromChannelコマンドで取得できますが、引数にチームIDとチャンネルIDを指定する必要があります。
ここでは、 ComboBox_Team
コンボボックスで選択したチーム内の、 ComboBox_Channel
コンボボックスで選択したチャンネルのメッセージ一覧を表示させるため、 ComboBox_Message
のitem
プロパティを下記のように変更します。
MicrosoftTeams.GetMessagesFromChannel(ComboBox_Team.Selected.id,ComboBox_Channel.Selected.id).value
また、 ComboBox_Team
のときと同様にプロパティのフィールド 編集をクリックし、 主要なテキスト
と SearchField
を両方とも subject
に変更し、複数選択の許可
はオフにしておきます。
##3.返信ボタンの処理作成
Button_Reply
ボタンを押すと返信メッセージが投稿されるよう、OnSelect
プロパティを下記のように変更します。
MicrosoftTeams.PostReplyToMessageV2(
ComboBox_Team.Selected.id,
ComboBox_Channel.Selected.id,
ComboBox_Message.Selected.id,
{
content: RichTextEditor_Message,
contentType: "html"
}
)
これで、 ComboBox_Team
で選択したチーム内の ComboBox_Message
で選択したメッセージへ返信する形でメッセージが投稿されます。返信メッセージの内容は RichTextEditor_Message
に入力した内容となります。