Power AppsPower AutomatePower Automate for cloudtipstipsアダプティブカード

Power AppsからTeamsへ画像付きの投稿をする

Power Apps

Power AppsからTeamsへは、【Teamsコネクタ】Power AppsでTeamsチャネルへユーザー個人として投稿の方法を使って投稿できます。

上記の方法でリッチテキストは投稿できますが、画像などの添付ファイルを付けて投稿することは出来ません。

今回は、アダプティブカードを使用してPower Appsで選択した画像をTeamsへ投稿する方法を紹介します。

【2024/2更新】より簡易で実用的な方法を別記事で紹介しました

手順

Power Appsでコントロールを設置

Power Appsのキャンバスアプリ上に、画像の追加コントロールボタンコントロールを設置します。

画像の追加コントロールOnChangeプロパティを、以下の様に設定します。

Set(_Photo,UploadedImage1.Image)

一旦これだけでPower Apps側での操作は終わりです。

Power Automateでフローの作成

そして、Power Automateでフローを作成します。

トリガーにPower Apps(V2)を設定し、入力を追加ファイルを指定します。

名前を画像などわかりやすいものに変更しておきます。

次に、アクションとしてデータ操作作成を選択します。

その入力プロパティに以下を入力します。

data:image/png;base64,@{string(triggerBody()?['file']?['contentBytes'])}

最後に、Teamsコネクタチャットやチャネルにアダプティブカードを投稿するアクションを追加します。

{
    "type": "AdaptiveCard",
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.2",
    "body": [
        {
            "type": "Image",
            "url": "@{outputs('作成')}"
        }
    ]
}

これでフローは完成です。フロー名を分かりやすい形にして保存してください。

Power Apps側で入力部分の設定

再度Power Appsに戻り、Power AppsからPower Automateのフローに画像データを渡すための設定をします。

あらかじめ追加しておいたボタンにPower Automateのフローを割り当て、OnSelectプロパティを以下のように設定します。

PowerAppsからTeamsへ画像付きの投稿をする.Run(
    {file:{
        contentBytes:_Photo,
        name:""
        }
    }
)

【参考】Power AppsからPower Automateにファイルを渡す方法→Power AppsからOneDriveにファイルをアップロードする

これで準備は完了です。

実行してみる

これだけで設定は完了です。実行してみましょう。

画像の追加コントロールからPower Apps側で画像を指定します。

ボタンをクリックして実行すると、以下のようにTeamsへ画像が投稿されました。

注意

Power Apps側でファイルサイズが大きめの画像を指定したところ、以下のようなエラーが表示されました。

どうやらファイルサイズが28KB以下のものしかTeamsへ投稿出来ないようです。

事前に画像を圧縮するなどして、ファイルサイズを小さくしておく必要があります。

Power AppsからTeamsへ画像付きの投稿をする まとめ

  • アダプティブカードを使用すると、Power AppsからTeamsへ画像付きの投稿が出来る
  • 添付できる画像サイズは28KBが上限なので注意が必要

コメント

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