Power Automate のTeamsアクションではJSONを使って様々なことができます。
本ブログで扱う範囲について、JSONの基本をまとめておきます。
本ブログ内で扱うのは以下の範囲です。
JSONとは?
JavaScript Object Notationの略。データフォーマットの一種。JavaScriptのオブジェクトの書き方を参考に作られたもの。
JSONの構造
基本構造はかなりシンプルです。
{"名前1(キー1)":"値1"},{"名前2(キー2)":"値2"}
のように波かっこやダブルコーテーション、コロンで表現します。
区切りにはカンマを使います。
実際に使っているコードを見てもかなりわかりやすい構造になっています。
{ "type": "TextBlock",
"text": "タイトル",
"size": "ExtraLarge"}
上の例の場合、TextBlockというタイプの枠があって、その中のtextは「タイトル」で、大きさがExtralarge
ということです。
角カッコ[ ]を使うこともあります
{"type": "ActionSet",
"actions": [{"type": "Action.OpenUrl", "title": "年間予定表", "url": ""}]}
Power AutomateでJSONを扱うときの注意点
カッコの対応は常に意識しましょう。
カッコがたくさん登場するコードになってしまうため、どこまでがひと固まりなのか混乱しやすくなります。特にコードをコピペして使うときは挿入場所を良く確認して挿入しましょう。
JSONでは残念ながらコードの中にコメントを入れることができないので、カッコの終わりがどこなのかを見失いがちです。改行や空白を使って自分なりに見やすくしましょう。
よく使うコード
アダプティブカードの初めのコード
{
"type": "AdaptiveCard",
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.2",
"msTeams": { "width": "full" },
"body": [
]
}
私は毎回これを使っています。これを書かないと始まらないようです…。
“msTeams”: { “width”: “full” }を入れておけば投稿されたアダプティブカードが画面の幅いっぱいに拡大されて表示されます。
基本的に”body”:[ ]の角カッコの中にコードを書いていきます。
テキストブロック
{ "type": "TextBlock",
"text": "テキスト",
"wrap": true,
"size": "ExtraLarge"},
テキストを挿入します。
※wrapは投稿されたとき文字の折り返しを自動で行うかどうかのキーです。
イメージ
{ "type": "Image",
"url": "Swayの画像リンク",
"horizontalAlignment": "Center"}
アダプティブカードで画像を投稿するときは、画像データを直接貼ることはできません。
またOneDriveなどの共有フォルダのリンクも使えないため、Microsoft365のSwayを使って画像を配信します。
※Swayの操作方法、PowerAutomateを使ってTeamsに画像付きで投稿する方法はこちらをご覧ください。
オープンURL
{"type": "ActionSet",
"actions": [{"type": "Action.OpenUrl",
"title": "リンク",
"url": "ここにアドレスを入力"}]}
リンク先へ飛べるボタンを設置します。
以上がJSONの基本になります。
とにかくカッコの対応やコンマの抜けなどに気を付けながら触っていれば、
アダプティブカードで様々なレイアウトを作れるようになります。
リンク先に飛ぶボタンの他に、投稿内容を表示したり非表示にしたりするボタンも設置できます。
コメント