IT仕事 PowerAutomate

GASで作成したスクリプトをPower Automateで使うには(めちゃx2苦労した話)

投稿日:

ChatGPTに「GASで作成したスクリプトをPowerAutomateで使うにはどうすればよいか」と聞いたら、「Google Apps ScriptをWeb APIとして公開し、Power AutomateからHTTPリクエストで呼び出す」という回答とその方法を返してきた。

やつの提案は極めてシンプルで、簡単そうに見えた。
しかし、提示された方法通りにやっているにもかかわらず、何度やってもうまくいかない。奴が時々そうであるように、平気でうそをついているのだ。

そこで、ググって調べてトライ&エラーに切り替え。
一日目の午後を費やし、翌日の午前も半分使ったあたりで、ようやくできた。。。

結論から先に言うと、ChatGPTの提案では、そのまま進めても絶対にうまくいかない。
PAのフローでStatus code 302(リダイレクト)エラーが返ってくるところから先に進む方法を教えてくれない。
エラーを受けて、そのあとの処理が必要。Power Auotomate の HTTPアクションが 302 に対応しない。

まあ、ここまでわかるのに半日かかった。
最終的にはPOST形式の処理をしたかったのだが、どこが悪いのか確かめたかったので、最初はGET形式のフローを作って、試行錯誤した。

なお、PowerAutomateは、アドバンスエディタでは、目的のフローを作れないところも、問題を複雑にし、解決に時間がかかった。クラシックエディタで「実行条件の構成」を設定しないといけない。これを設定しないとリダイレクト失敗後の後続のフローが実行されない。
ちなみにChatGPTに聞いたら、アドバンスエディタでも実行条件の構成を設定できると言われたが、どこをさがしても該当項目が無い。できない。嘘つき。

ポイントは2つ。
PAフローのHTTPリクエストは2つ連続で作ること。一つ目は普通に作るが必ずエラーになるので、二つ目でエラー文を解析してそこから outputs(‘HTTP’)[‘headers’][‘Location’] でリダイレクト先URLを取り出す。PAはテスト実行の際に出力内容を表示してくれるので、それをみたらoutput~の意味がわかるはず。
また、「実行条件の構成」を設定して「失敗したときだけ二つ目を実行」にすること。成功することはないけど。

あと、GETは2段処理のHTTPリクエストは両方ともGETでいいが、POSTは1段目はPOST、2段目はGETでないとうまくいかない。なのでPOSTのフローを作るのにもエネルギーを費やした。疲れた。

以下は、実際に思い通りに動いたGETとPOSTそれぞれのPAのフロー例。

GET

POSTはJSONフォーマットを本文に入れて値を渡さなくてはいけないので面倒。それよりは簡単に値をURLに https://script.google.com/・・・exec?name=abc&age=25 のように簡易にできるGETを、まず先に作るほうが良いと考えた。

また、BODYには式として、outputs(‘HTTP’)[‘headers’][‘Location’] を入力する。

POST

GETで思った通りの動作がされることを作成してから、そのPAフローをコピペして、それをもとにPOSTに取り掛かった。図の該当箇所を赤で囲っていないけど、
先に書いたように、POSTの後にGETする。

うまくいったかな? うまくいかない方は、なんとか頑張ってみてね!

-IT仕事, PowerAutomate

執筆者:

関連記事

no image

imacrosの作成方法・自分用控え

ヤマトB2クラウドのオートログイン(imacros)の作成方法、控え 1.Chromeのimacros拡張機能がインストールされていなければインストールする。 2.コードを作る。 3.名前を付けて保存 …

no image

IME2007だめだめ

Office2007にしてから日本語入力の変換が重くて重くて仕方がない。 もしやと思うと、やっぱり。 IMEがバージョンアップして「2007」になっていた。 IME2007だめだめ。 ネット検索すると …

no image

PHPエディタ

PHPエディタ、なかなか使い勝手がいい。 書いたコードを、PHPの予約語や文字属性を区別して、色分けしてくれたり。 カーソル付近にある括弧を、対応するもの同士、太字にしてくれたり。 意外だったのは、C …

JQueryでカレンダー入力機能

以下を参考に、ZeroMailというメールフォームスクリプトにカレンダー入力機能を追加。 Datepicker | jQuery UI 1.10 日本語リファレンス | js STUDIO 他のサイト …

no image

WordPressMe2.3.3で、Deprecatedエラー

朝、出社して管理しているお客様のサイトを見ると、上部に見たこともないエラーがずらずら出ていた。 Deprecated: Assigning the return value of new by ref …