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

執筆者:

関連記事

JS CMS

JS CMS すばらしい

JS CMS | 簡単・無料・国産のWebデザイナー向けCMS こういうのを使ってみているんですが、すごいですよ! 「HTMLは動かして良いが、PHPはダメだよ」というサーバは、今の時代でも結構ある。 …

Shopifyの注文情報をArigato AutomateionアプリとPowerAutomate経由でチャットワークに通知する

まずはPower Automate 側を作る。 トリガーはmanual。 HTTP URI は、自動で作られる。後でArigato Automationで使う。 JSONの解析をする。サンプルのペイロ …

no image

Q.NASに対してPCからアクセスしようとすると、毎回ユーザーIDとパスワードの入力を求められる

A. 1.ユーザーIDとパスワードを入力するとともに、その下の「保存」にチェックする 2.「コントロールパネル」の「ユーザーアカウント」にある「ネットワークパスワードの管理」から、ユーザー名とパスワー …

PhotoshopElementsで写真の角を丸くする その2

込み入った写真の場合、境界線がはっきりせず、上記の方法が使えなかった・・・以下、別のやり方。   1.シェイプツールの角丸長方形で写真の上にシェイプのレイヤーを作る。このとき描画色は写真に含まれない色 …

no image

Freemind0.8.1

仕事PCにFreemindというマインドマップのソフトを入れている。 紙Copyで書いたテキストファイルを何とか読み込めたら便利だなと思うけど、現状インストしているVer0.7にはないみたい。 Ver …