はじめに
kuwa_38です。この記事ではGoogle Apple Scriptとして作成したスクリプトをcurlコマンドから実行する方法を紹介します。
GAS(Google Apps Script)とは
以前このブログで書かれていた記事の中に分かりやすい説明があったので引用します。
「Googleの各種アプリ(Google スプレッドシート/Googleドキュメントなど)をアプリ内ではなく外から操作できるJSライクなプログラミング言語」です。 エクセルに対するVBAの関係と一緒です。
上の記事は入門としてスクリプトエディタ上から作成したスクリプトを実行しています。本記事ではスクリプトエディタ上からでなく、外部(curlコマンド)から実行する方法の紹介となります。
今回やること
curlコマンドからGASを実行するための大まかな手順は以下です。
- GASの実行結果を書き込むSpreadSheetの作成
- GASの作成
- POSTする設定
- curlからPOSTする
GASの実行結果を書き込むSpreadSheetの作成
今回は以下のようなシートを作成し、果物(fruit)と値段(price)を末尾に追記します。
GASの作成
以下をスクリプトエディタに記載します。
/** * POSTされた時に実行されるメソッド. * 行の最後に受け取った値を挿入する * @param e 下記のJSONを想定 * fruit:フルーツ名 * price:価格 * @return なし */ function doPost(e) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName('シート名'); var PostData = JSON.parse(e.postData.contents); // 行の最後に値を追加 sheet.appendRow([PostData.fruit, PostData.price]); }
参考: qiita.com
POSTする設定
POSTする前に作成したスクリプトにアクセスできるように設定します。
公開 > ウェブアプリケーションとして導入
スクリプト許可1 次のユーザとしてアプリケーションを実行:自分
- アプリケーションにアクセスできるユーザ:全員(匿名ユーザを含む)
- 更新ボタンを押すと、接続するためのURLが作成されます
- curlで接続する際に使用するのでコピーしておくと良いです
補足:承認を求められたら
承認を求められた場合は下記を参考に承認してください。
curlからPOSTする
以下のcurlを実行し、POSTします。
curl -X POST -H "Content-Type: application/json" -d '{"fruit":"peach", "price":"650" }' -L https://script.google.com/macros/s/xxxx/exec
おわりに
この記事ではcurlコマンドを使ってPOSTし、GAS(Google Apple Script)を実行する方法を紹介しました。今回はcurlコマンドを直打ちでしたが、自作アプリなどからPOSTする仕組みにしておけば、SpreadSheetへの操作をより手軽にできるようになるかと思います(何か作りたいなと思案中)。
気になった方はぜひ試してみてください。
エンジニア中途採用サイト
ラクスでは、エンジニア・デザイナーの中途採用を積極的に行っております!
ご興味ありましたら是非ご確認をお願いします。
https://career-recruit.rakus.co.jp/career_engineer/カジュアル面談お申込みフォーム
どの職種に応募すれば良いかわからないという方は、カジュアル面談も随時行っております。
以下フォームよりお申込みください。
rakus.hubspotpagebuilder.comラクスDevelopers登録フォーム
https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/イベント情報
会社の雰囲気を知りたい方は、毎週開催しているイベントにご参加ください!
◆TECH PLAY
techplay.jp
◆connpass
rakus.connpass.com