Rhea's Mistep

Rhea's Mistep

「IT×語学力」を軸に奮闘する文系SE。IT関連、語学、海外などの情報をゆるゆる綴っていきます。

【PowerAutomate】日付指定エラー?"OpenApiOperationParameterValidationFailed"

発生したエラー

エラーが発生したフローの詳細

今回は、以下のフローを作成していました。

  1. SharePointリストでアイテムが更新
  2. SharePointリストの情報を基に、Teams会議を作成
  3. Teams会議IDをSharePointリストに更新
  4. Outlookで会議情報をアップデート←エラー!!!

しかし、「4. Outlookで会議情報をアップデート」でエラーが発生。

エラーの詳細と原因

Flow save failed with code 'OpenApiOperationParameterValidationFailed' and message 'Input parameter 'item' validation failed in workflow operation 'Update_event_(V4)': The parameter with value '"@outputs('Update_item')?['body/StartTime']"' in path 'item/start' with type/format 'String/date-time' is not convertible to type/format 'String/date-no-tz'.'.

エラーのキャプション

エラー情報には、会議の開始時刻のフォーマットをPowerAutomateが認識していない旨が書かれています。つまり、SharePointリストで入力した開始時刻は日本時間なので、PowerAutomateが認識できていません。

解決方法

手順

手動で式を入力

アクションの開始時刻を、協定世界時刻(UTC)に変更すれば解決できます。

以下のコードを開始時刻に入力してください。
※下線をひいた箇所は、Dynamic contentSharePointリストの列項目名をクリックすると、自動で式として入力されます。

convertFromUtc(outputs('Update_item')?['body/StartTime'], 'GMT Standard Time')

これで、正常にフローが動くようになりました。

補足:convertFromUtc()とは?

今回使用した関数は、指定のタイムゾーンから協定世界時刻(UTC)に修正するための関数です。第1,2引数必須項目で、第3引数任意項目になっています。

convertToUtc('<timestamp>', '<sourceTimeZone>', '<format>'?)

(参照:Microsoft公式ドキュメント

お疲れ様でした!