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

Joomlaで寝るのが遅くなる

Joomlaの仕組みを何とか知りたくて触ってたら、こんな時間になってしまった。 早く寝ないと。 XOOPSの時も魔力に取り付かれて遅くまで触っていたなあ、そういえば。 マスターしたいって気にさせるよね …

YITH WooCommerce Order Trackingのトラッキングコードをメールに表示するには

以下のブログ主さんが、表題の件を実現する方法をレクチャしてくれているのを発見、けども・・・。 WordPress YITH WooCommerce Order Trackingのトラッキングコードをメ …

no image

VBA-JSONはダメだったがPowerQueryはよかった

オンラインショップの在庫管理目的で、業務システムを動かしているAccessかExcelで、何とかしてWebの商品マスターAPIのデータを取ってきたい。 最初、VBA-JSONというのを使えばいいのかな …

no image

Artisteer4は、ダメダメ

Artisteerを使っている。 この秋9月からバージョン4になり、CSS3に対応した。 デフォルトデザインが白のシンプルなデザインになり、またスライドを挿入できるなど、機能もアップした。 そこで、今 …

no image

遅し

ExcelのVBAのプログラミング。 xlAPP.EnableEvents = Falseで、Changeイベント無効にできる。 ということを、今日初めて知った。 ああ、もう数年早く知っていれば、あれ …