メニュー
\ ポイント最大11倍! /詳細を見る

GAS│POST通信からスプレッドシートに書き込む方法│スプレッドシート

GASを使って、簡単なGET/POST通信をやってみました。

海外でフリーランスをしているテクニカルアーティスト
ゲーム開発・映像制作・WEB制作等を請け負っています。
当ブログは作業効率化のための技術ブログです。

目次

データベースの作成

こんな感じで、スプレッドシートにデータベースを作成しました。

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);
}
Qiita
GASのdoGetとdoPostをcurlで試してみた - Qiita やりたいことスプレッドシートでデータの出し入れを試したい!curlでスプレッドシートからデータの取得、データの挿入をやってみる。fruitとpriceの列を持つシートから、全...

終わったら、公開します。

公開>ウェブ アプリケーションとして導入

設定と承認をすべて終えれば、URLが発行されます。

Windowsでcurlコマンドを使用する方法

curlの環境構築

ぐぐってもMax環境でのやり方が多いので、Windowsでも使えるようにします。

下記のURLからデータ(curl-7.65.3-win64-mingw)をダウンロードします。

https://curl.haxx.se/windows/

Cドラ直下に置きました。

curlの実行テスト

  1. コマンドプロンプトを開いて、
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通信を試してみて、ちゃんと意図通り実行結果を得られたので得るものは大きかったです。

今後、普段の作業効率化の手段の一つとして、応用していくつもりです。

全記事一覧

  • URLをコピーしました!
目次