わんすけに聞いてみる Web開発,WinActor [WinActor]Googleスプレッドシートの追記

[WinActor]Googleスプレッドシートの追記

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っぽくないけど、簡単に実行ログとか最低限のヘルス情報を外に飛ばせるので忙しいシステム管理者には大助かりですねっ。

「[WinActor]Googleスプレッドシートの追記」への1件のフィードバック

  1. こんばんは。
    先ほどtwitterで送らせて頂きました。
    RPAのログ収集したく、参考にさせていただきたいのです
    こちらのサイトの手順で設定しているのですが、なかなかスプレットシートに書き込まれてくれません‥

    GASに詳しくないのですが、相談になっていただく事は出来ないでしょうか‥よろしくお願いします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Related Post