Posted at

Power AppsからMS Flowのフローを呼び出すと発生するエラー「テンプレート言語式を評価できません。 」


問題

MS Flowで作成したフローをPower Appsのボタンなどに割り当てて、フローを呼び出すと以下のようなエラーが発生する場合があります。


InvalidTemplate. 行 '1'、列 '1904' のアクション 'リストの取得' 入力でテンプレート言語式を処理できません: 'プロパティ 'shared_sharepointonline_1' が存在しないため、テンプレート言語式 'json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$connections']['shared_sharepointonline_1']['connectionId']' を評価できません。利用可能なプロパティは '' です。使用方法の詳細については、https://aka.ms/logicexpressions をご覧ください。'。 」



発生条件

外部サービスとの接続情報(上のエラーではSharepoint Online)を持っているフローをPower Appsに割り当てた後にFlowの接続情報(e.g.ログインアカウント)を更新し、Power Appsからフローを実行すると発生。


原因

フローをPower Appsに割り当てると、フローの接続情報がPower Appsにコピーされます。

Power Appsに割り当てた後にMS Flowでフローの接続情報を変更するとMS Flow側で保持している接続情報は新しい接続情報に更新されます。しかし、割り当て先のPower Appsにコピーされた接続情報は更新されません。

そのためMS Flow側で新しい接続情報になったフローを古い接続情報のままのPower Appsから呼び出されることで接続情報に差異が生じてしまい、エラーが発生します。


解決方法

新しい接続情報を設定したフローを「名前をつけて保存」で別のフローとして保存し、そのフローを新しくPower Appsに割り当てし直すと接続情報が新しくコピーされるのでMS Flow側とPower Apps側で接続情報が一致し正常な状態に戻ります。

https://powerusers.microsoft.com/t5/Using-PowerApps/Flow-BUG/td-p/71606

https://powerusers.microsoft.com/t5/Using-PowerApps/Flow-BUG/td-p/71606