はじめに
今回は色々と便利な、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を作れて、しかも使いやすいスプレットシートと連携できるのは便利すぎますよね。
是非、活用して面白いものも皆さん作ってみてください。
コメント