GASを使って、簡単なGET/POST通信をやってみました。
目次
データベースの作成
こんな感じで、スプレッドシートにデータベースを作成しました。
GASでGET/POST通信するスクリプトの作成
ツール>スクリプトエディタからGASを開きます。
下記のコード(引用)を記述。
function doGet(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('シート1');
var sheetData = sheet.getRange('A2:B' + sheet.getLastRow()).getValues();
// データの成形
var responseList = [];
sheetData.map(function(d) {
responseList.push({ fruit: d[0], price: d[1] });
});
// レスポンス
var response = {
data: responseList,
meta: { status: 'success' }
};
return ContentService.createTextOutput(JSON.stringify(response)).setMimeType(ContentService.MimeType.JSON);
}
GASのdoGetとdoPostをcurlで試してみた - Qiita
やりたいことスプレッドシートでデータの出し入れを試したい!curlでスプレッドシートからデータの取得、データの挿入をやってみる。fruitとpriceの列を持つシートから、全...
終わったら、公開します。
公開>ウェブ アプリケーションとして導入
設定と承認をすべて終えれば、URLが発行されます。
Windowsでcurlコマンドを使用する方法
curlの環境構築
ぐぐってもMax環境でのやり方が多いので、Windowsでも使えるようにします。
下記のURLからデータ(curl-7.65.3-win64-mingw)をダウンロードします。
Cドラ直下に置きました。
curlの実行テスト
- コマンドプロンプトを開いて、
cd C:\curl-7.65.3-win64-mingw\bin\
2.curlコマンドが実行できるかテスト
curl --help
GASでGET通信する
下記のコマンドをたたき、スプレットシートのデータを取得します。
curl -L "GASで作成したURL"
成功です。
GASでPOST通信する
今度はスプレットシートに書き込んでみます。
curl -X POST -H "Content-Type: application/json" -d "{\"script\":\"hoge.jsx\", \"name\":\"i_suzuki\", \"date\":\"2019/08/11\"}" -L "GASで作成したURL"
Windowsの場合の注意点
MAXの場合下記のように記述しますが
curl -X POST -H "Content-Type: application/json" -d '{"aaa":"123", "bbb":"456" }' -L "GASで作成したURL"
Windowsのコマンドプロンプトで実行する場合、クォーテーションの記述方法が変わります。(シングルクォーテーションはNG)
curl -X POST -H "Content-Type: application/json" -d "{\"aaa\":\"123\", \"bbb\":\"456\"}" -L "GASで作成したURL"
コマンドを実行するとスプレットシートに追記されました!
引用/参考
https://qiita.com/aromanokarisu/items/ff3076a78335163d2f12
まとめ
GET通信とPOST通信を試してみて、ちゃんと意図通り実行結果を得られたので得るものは大きかったです。
今後、普段の作業効率化の手段の一つとして、応用していくつもりです。