#選択したチャンネルへの投稿機能の作成
##作成するもの
PowerAppsの画面上で選択したチーム・チャンネルに、任意のメッセージをサブジェクト付きで投稿するアプリ。ひとまずポカよけとかは考えず最低限動くだけの処理を実装する。
アプリの操作イメージはこんな感じ↓
- コンボボックス1にチーム一覧を表示させ、投稿したいチームを選択する
- コンボボックス2に、↑で選択したチーム内のチャンネル一覧を表示させ、投稿したいチャンネルを選択する
- 投稿のタイトル(サブジェクト)を入力する
- 投稿したい内容(本文)を入力する
- 投稿ボタンを押し、選択したチャンネルに投稿する
##1.Teamsコネクタの追加
キャンパスアプリを新規作成し、データからTeamsコネクタを追加します。
##2.コントロールの配置
下図の通り5つのコントロールを配置し、コントロール名を図のとおり変更します。
コンボボックスは2つ作成しますが、上が ComboBox_Team
,下が ComboBox_Channel
です。
##3.チーム一覧の取得
ComboBox_Team
のitem
プロパティを下記のように変更します。
MicrosoftTeams.GetAllTeams().value
次に ComboBox_Team
のプロパティのフィールド 編集をクリックし、 主要なテキスト
と SearchField
を両方とも displayName
に変更します。
また、複数選択の許可
はオフにしておきます。
これで ComboBox_Team
をクリックすると、Teamsで登録しているチーム一覧が表示されるようになりました。
##4.チャンネル一覧の取得
次に ComboBox_Channel
コンボボックスでチャンネル一覧を表示できるようにします。
Teamsのチャンネル一覧はGetChannelsForGroupコマンドで取得できますが、引数にチームIDを指定する必要があります。
ここでは、 ComboBox_Team
コンボボックスで選択したチームのチャンネル一覧を表示させるため、 ComboBox_Channel
のitem
プロパティを下記のように変更します。
MicrosoftTeams.GetChannelsForGroup(ComboBox_Team.Selected.id).value
また、 ComboBox_Team
のときと同様にプロパティのフィールド 編集をクリックし、 主要なテキスト
と SearchField
を両方とも displayName
に変更し、複数選択の許可
はオフにしておきます。
##5.投稿ボタンの処理作成
Button_Send
ボタンを押すとメッセージが投稿されるよう、OnSelect
プロパティを下記のように変更します。
MicrosoftTeams.PostMessageToChannelV3(
ComboBox_Team.Selected.id,
ComboBox_Channel.Selected.id,
{
content: RichTextEditor_Message,
contentType: "html"
},
{subject: TextInput_Subject.Text}
)
これで、 ComboBox_Team
で選択したチーム内の ComboBox_Channel
で選択したチャンネルにメッセージが投稿されます。メッセージのサブジェクトは Textinput_Subject
に入力した文字列、本文は RichTextEditor_Message
に入力した内容となります。
##6.ラベルの作成
5までで機能としては実現済みですが、分かりやすいようにラベルを付け、ボタンの表示を変更して完成!
##関連記事
PowerAppsでTeams投稿アプリを作成する②