Power Appsコンポーネント

【カスタムコンポーネント】Power AppsからTeamsへ投稿する

Power Apps

【Teamsコネクタ】Power AppsでTeamsチャネルへユーザー個人として投稿でご紹介した、Power Appsから直接Teamsへ投稿する機能を、コンポーネントにして再利用可能なパーツとして作成します。

コンポーネントを作成

ツリービュー→新しいコンポーネントより、TeamsPostComponentというコンポーネントを作成します。

そして、以下2つのカスタムプロパティを作成します。

表示名説明プロパティの型データ型
GroupIDチームのIDです入力テキスト
ChannelIDチャネルのIDです入力テキスト

コントロールの追加

追加するコントロールは、テキスト入力・リッチテキストエディター・ボタンの3つです。

テキスト入力(TextInput1)

プロパティを以下のように変更します。

Default""
HintText"件名"
WidthParent.Width*0.9
XParent.Width/2-Self.Width/2
YParent.Height/25

TextInput1にはTeamsに投稿する際の件名を入力しています。

サイズ関係のコントロールにParentを指定することで、動的にサイズを変更できるようになっています。

リッチテキストエディター(RichTextEditor1)

プロパティを以下のように変更します。

Default""
HeightParent.Height*0.75
WidthParent.Width*0.9
XParent.Width/2-Self.Width/2
YParent.Height/7

RichTextEditor1にはTeamsに投稿する際の本文をHTML形式で入力します。

ボタン(Button1)

プロパティを以下のように変更します。

OnSelect長いので下記参照
Text"投稿"
XParent.Width/2-Self.Width/2
YParent.Height*0.915
MicrosoftTeams.PostMessageToChannelV3(Parent.GroupID,Parent.ChannelID,
    {
        content:RichTextEditor1.HtmlText,
        contentType:"Html"
    },
    {
        subject:TextInput1.Text
    }
)

スクリーン側で設定する箇所

スクリーン側では、投稿先のチームのIDとチャネルのIDをコンポーネントへ渡す必要があります。

投稿先のチャネルを静的(固定)にする場合には、チーム・チャネルIDをそれぞれGroupID、ChannelIDプロパティに入力するだけでOKです。

動的にする場合には、ドロップダウンで選択した値(DropDown.Selected.id)をGroupID、ChannelIDプロパティに入力します。

GroupID,ChannelIDについて、IDを動的に取得する方法はこちらをご確認ください【Teamsコネクタ】Power AppsでTeamsチャネルへユーザー個人として投稿

Power AppsからTeamsへ投稿するカスタムコンポーネントまとめ

Power AppsからTeamsへ直接投稿するカスタムコンポーネントの作成方法を紹介しました。

MicrosoftTeams.PostMessageToChannelV3は、やっていること自体は簡単なのに構文が複雑なためいつも自分のブログ記事を見返していました。

カスタムコンポーネントを使用することで、簡単にTeamsへ投稿する機能を実装出来るようになります。

コメント

  1. […] もっとスマートなコンポーネント版→【カスタムコンポーネント】Power AppsからTeamsへ投稿する […]

タイトルとURLをコピーしました