【Power Automate】HTTPリクエストで「DateTime parameter is invalid」エラーが出た時の対処法(+09:00の罠)

HTTPリクエストアクションのURLクエリで、日本時間のタイムゾーン(2024-01-01T00:00:00+09:00のような)をそのまま指定したらエラー「DateTime parameter is invalid」が起きたので、対処方法をメモ。

スポンサーリンク

やりたいこと

URIパラメータで時間を指定できるHTTPリクエスト(OutlookのcalendarViewなど)で、日本時間などのタイムゾーンを指定したいときの話。
このタイムゾーンの指定が入ったリクエストを実行するとエラーが発生する。

原因と解決方法

原因は文字「+」や「:」で、この「+」はURIにおいて空白文字として解釈されるし、「:」は予約文字になっている。

そのため、タイムゾーンを指定するときはuriComponent関数を使用して、パーセントエンコーディングする必要がある。

使用箇所が多い場合は事前に「作成」アクションとかで定義しておくと便利だし、
使用箇所が少ない場合は、直接式を入力してもOK。
実行すると「+09:00」が「%2B09%3A00」に変換されて、リクエストが成功する。

関連記事

コメント

タイトルとURLをコピーしました