WinActorの実行ログをGoogleスプレッドシートにPOSTして、タスクスケジューラで不在時に動かしたシナリオの実行状況を外出先から確認できる様にしてみましょう!
1.まずは、Googleアカウントを使ってスプレッドシートを用意。
2.Google Apps Script(GAS)の用意。
作成したスプレッドシートの[ツール]から[<>スクリプト エディタ]を選んで・・・
今回用意したスクリプトはこんだけ。
function doPost(e) { var ReqStr = e.postData.getDataAsString(); var jsonReq = JSON.parse(ReqStr); var ss = SpreadsheetApp.openById(SpreadsheetApp.getActiveSpreadsheet().getId()); var sheet = ss.getSheetByName("LogInfo"); sheet.appendRow([jsonReq.msg_date, jsonReq.scenario_name, jsonReq.message]); }
- doPostがPOSTリクエストで呼び出される。
- 引数からevent.postData.getDataAsString()で要求本文を取得。
- JSON.parseで要求本文をjsonデータに変換。
- スプレッドシートのシートを取得して、appendRowで受け取った要求本文を張り付け。
とりあえずテスト実行して権限与えたりなんだりは、前に試した時の記事の通り。
Google Apps Script APIでRESTfulAPI
3.ウェブ アプリケーションとして導入...
こんなん設定してぇ。
そしたら、URLが払い出されるのでメモメモ。。。
2021/10/09 修正メモ
Google Apps Script もアップデートされていろいろ見た目変わっていますが、
ウェブアプリとしてデプロイを行う際に、「種類の選択」から「実行可能API」の
チェックをオンにしておかないとdoPost関数でpostDataの中身が拾えないようです。
木月さん、ご連絡ありがとうございました。
4.試しにWinActorからPOSTリクエストを送る。
HTTPのライブラリを呼びだしてっと。
基本設定のメソッドは「POST」、URLにはさっき払い出されたURLを指定してっと。
要求の「ボディ」タグには、さっき作ったスクリプトで適当に作ったjsonのキー名を使ってデータを作る。。。
はい、ぽちっと。。。
でーきたっ!
WinActorからPOSTした内容がGoogleスプレッドシートに追記されました。
全然GUI操作しとらんからRPAっぽくないけど、簡単に実行ログとか最低限のヘルス情報を外に飛ばせるので忙しいシステム管理者には大助かりですねっ。