前回は、「SharePointリストにリストアップされたExcelファイルを調べ、特定行の内容をチェックする」というフローを作成しようと思いましたが、問題が発生しました。
チェックしたExcelの「結果」セルの内容を出力しようとしたのですが、動的なコンテンツに「行の取得」が表示されませんでした。
今回は、その部分を修正したいと思います。
現状の確認
現在のフローは以下の通りです。
「行の取得」後、「チャットまたはチャネルでメッセージを投稿する」で、「行の取得」の内容を使用しようと思いましたが、動的なコンテンツに表示されませんでした。
「複数の項目の取得」から単一のものに変更したところ、動的なコンテンツに表示されたので、「Apply to each」内でできないという現象のようです。
JSONのスキーマ確認
JSON解析フローを追加する前に、テストを実行しJSONのスキーマを確認(コピー)しておきます。
テスト時の「行の取得」フローの出力部分を確認します。
body内に文字列が羅列されていますが、これがJSON形式のようです。
このbody内の文字列を丸ごとテキストエディタにコピーし、保存しておきます。
「JSONの解析」フローを追加
調べていると、「JSONの解析」というフローを追加することで解決できそうです。
「行の取得」の後に追加します。
組み込み-データ操作
「JSONの解析」フローを追加します。
「JSONの解析」フローの「コンテンツ」には、「行の取得」を選択したいところですが、やはり動的なコンテンツには表示されません。
そこで、式「body(‘行の取得’)」を指定して、強制的に「行の取得」の動的コンテンツを取得します。
スキーマは、サンプルから生成します。
ここで、事前に取得しておいた「行の取得」の出力データが役に立ちます。
「サンプルから生成」をクリックします。
サンプルJSONペイロードの挿入画面で、テキストエディタにコピーしておいた行の取得」の出力データをそのままコピーします。
今回は複数のデータがありますが、問題ありません。
サンプルのJSONデータを解析し、スキーマを自動で作成してくれます。
スキーマ内に、「行の取得」で取得したExcel内のセルの内容があるのがわかります。
後続のフローで動的なコンテンツが使用可能に
これで、後続のフローで動的なコンテンツとして取得が可能になります。
今回は、後続のフローでTeamsにExcelの内容を表示します。
動的なコンテンツとして、「JSONの解析」からExcelの内容が選択可能になりました。
Teamsメッセージに使用可能となりました。
テストを再実行
テストを再実行したところ、正常終了しました。
Teamsの該当チャネルに、複数のExcelファイル特定行の内容を表示することができました。