はじめに
今回は色々と便利な、Goolgeのスプレットシートに追記していく簡単なWebAPIを構築してみたいと思います。
色んなところで使えるので、とても便利ですよ。
プログラムはこんな感じ
1.スプレットシートより、「拡張機能」>「App Script」を選択します。
2.「App Script」で以下のようにプログラムを書きます。
(以下のプログラムは、日付と引数の値を3つ追記するというプログラムになっています。)
function doPost(e) { const sheet = SpreadsheetApp.getActive().getSheetByName('test'); const pt = JSON.parse(e.postData.contents); const dt = Utilities.formatDate(now, 'GMT', 'yyyy/MM/dd HH:mm:ss') sheet.appendRow([dt,pt.data1, pt.data2,pt.data3]); }
3.「デプロイ」>「新しいデプロイ」を選択し、車輪のマークをクリックし、「ウェブアプリ」を選択します。
4.以下のとおり設定し、「デプロイ」を選択する。
項目 | 設定値 |
---|---|
ウェブアプリ | 自分 |
アクセスできるユーザー | 全員 |
5.結果の画面から、赤で囲んだアドレスをメモしておく。
使い方
例えばjavaであれは、こんな感じで利用できます。JSONで値を渡すだけ。
当然CURLコマンドでも出来ますので、色々とデータ取得や蓄積に活用してみてください。
var headers = { 'Content-type': 'application/json' }; var dataString = `{"data1": "${data1}","data2": "${data2}","data3": "${data3}"}`; var options = { url: 'https://script.google.com/macros/s/XXXXXXXXXX/exec', method: 'POST', headers: headers, body: dataString }; function callback(error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } } try { //throw new Error("テストでキャンセルするよ"); request(options, callback); }catch(err){ console.log(err.name + ': ' + err.message); }
まとめ
いかがだったでしょうか?
誰でも簡単にWebAPIを作れて、しかも使いやすいスプレットシートと連携できるのは便利すぎますよね。
是非、活用して面白いものも皆さん作ってみてください。
コメント