Teamsへの画像付き予約投稿にPower Automateを使った方法を紹介しました。
今回はその応用になりますので、こちらの記事をまずはご覧ください。
Power AutomateのPost card in a chat or channelのJSONを次のようにするとTeamsの投稿にボタンが設置できます。
ボタンにはリンクを開く動作をさせることもできますが、今回は画像やテキストの表示非表示切り替えの動作をさせています。
目次
Power AutomateのPost card in a chat or channelのJSON【サンプルコード】
{
"type": "AdaptiveCard",
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.2",
"msTeams": { "width": "full" },
"body": [
{ "type": "TextBlock",
"text": "1日1問",
"wrap": true,
"size": "ExtraLarge",
"color": "Attention",
"isSubtle": true},
{ "type": "Image",
"url": "◆Linkimage◆",
"horizontalAlignment": "Center"},
{ "type": "Image",
"url": "◆Linkimage2◆",
"horizontalAlignment": "Center",
"id": "imageToToggle",
"isVisible": false},
{ "type": "ActionSet",
"actions": [{ "type": "Action.ToggleVisibility",
"title": "解説",
"targetElements": [ "imageToToggle" ]}]}
]
}
◆で囲った部分はエクセルに入力したURLを参照しています。
ボタン部分について
ボタン設置のJSONは以下の通りです。
{ "type": "ActionSet",
"actions": [{ "type": "Action.ToggleVisibility",
"title": "解説",
"targetElements": [ "imageToToggle" ]}]}
actionsのtypeをAction.ToggleVisibilityにしているので、ボタンの動作が表示・非表示になります。
ボタンのラベルは今回「解説」にしています。
targetElementsにはimageToTogleと書いてありますが、これは消したい対象に設定したIDのことです。
ボタン設置の前に以下のJSONがあります。
{ "type": "Image",
"url": "◆Linkimage2◆",
"horizontalAlignment": "Center",
"id": "imageToToggle",
"isVisible": false},
今回、表示非表示の対象にしたImageです。IdにimageToToggleと設定しましたので、
これがボタンのJSONに書いてあります。
isVisibleは初期表示の有無に関するキーで、値をfalseにしておけば非表示の状態で投稿されます。
表示切り替えボタンのメリット
①:リンクへ飛ぶより手軽
今回の例では解答リンクにしてリンク先で解答を見ることもできますが、リンクを開くまで読み込みの時間がかかります。今回のようにサクッとできるクイズをしたい場合は表示・非表示のほうが適しているといえます。
②:投稿がコンパクトになる。
人によって見る必要が異なる内容を投稿した場合、通常通り投稿すると投稿本文が縦長になってしまいますが、ボタンを設置しておけば投稿がコンパクトにまとまり、個人に必要な情報だけを表示することも可能です。
コメント