@shibatea さんのまとめてくれた投稿: #PowerAutomate #LogicApp で動的なプロパティ名を持つ JSON を扱う方法 では、Microsoft Graph API で取得した Planner のタスクに含まれるチェックリストの情報のうち、チェックリストID自体がKeyであるということをいかに克服するかが書かれています。
ここでは、その方法とは少し違う手段で、チェックリストIDの一覧を作るところまでを紹介します。
以下のTweetがヒントでした。アドバイスをくれたJohnに感謝!
Hack #FlowNinja 86 while playing with Create CSV in @MicrosoftFlow I thought hmm 💡
— John Liu 劉 (@johnnliu) March 25, 2019
well well, another hack.
1. Create CSV: automatic header - automatically selects every property name of the first item.
2. So this can be used to perform keys(object) pic.twitter.com/pAXW1r5cv3
Create CSVを使った方法
設定を同一にするために、@shibatea さんの記事からjsonを拝借してきて、Composeします。
その後のステップは
- Composeアクション で、Planner task detailのchecklistを取得して、1"行"の配列にする。
- 1行の配列から、Create CSVアクションでCSVを作成する。その際にAdvanced OptionはAutomaticのまま。
- 生成されたCSVの1行目を取り出すために、CR+LFの改行コードでSplitして、0番目をとる
- 得られた結果を","(カンマ)でsplitして配列にする
これだけです。
各ステップの実行結果
1.の結果
outputs('PlannerTaskDetail')?['checklist']
1行の、チェックリストIDをKeyとする配列ができている。OK
2.の結果
3.の結果
first(split(body('Create_CSV_table'),decodeUriComponent('%0D%0A')))
ここの段階ではまだ"37396,60542,66123"という文字列
4.の結果
split(outputs('Get_Header_Row'), ',')
おわり
素晴らしいチャレンジのきっかけをくださった @shibatea さんに感謝をするとともに、だいぶ間があいたのに覚えていてアドバイスをくれたJohnにも感謝を申し上げます。
Acknowledge
To write this blog post, John Liu kindly provided me a helpful advice.
I really appreciated his support!!
Ref: http://johnliu.net/