LoginSignup
4
5

More than 5 years have passed since last update.

【GAS】Googleドライブ上のスプレッドシートを追記するWeb API

Last updated at Posted at 2018-03-17

今さらながらGASの便利さに気付き色々試しております。

本頁は、Google Apps Script をWebAPIとして利用して、Googleドライブ上のスプレッドシートに追記するメモです。


Googleドライブ上にスプレッドシートを用意します。
01.jpg

GASからアクセスできるように共有可能なリンクを取得します。
02.jpg

「?id=」以降がGAS側で利用するIDです。
03.jpg

たいしたコードでも無いので、ソースコードにそのままIDを埋め込んでも良いですが、
一応GASのプロジェクトプロパティにIDを入れておきます。
04.jpg
05.jpg

GAS上のソースコードは以下です。
リクエストパラメータは手抜きしてactionをそのまま使用。。。

コード.gs
function doGet(e) {
  // action未指定の場合
  if(!e.parameter.action) { 
    return ContentService.createTextOutput(JSON.stringify({'status': 'NG'}))
           .setMimeType(ContentService.MimeType.JSON);
  }

  // スプレッドシートに記録
  // プロジェクトプロパティからスプレッドシートのIDを取得
  var PROPERTIES = PropertiesService.getScriptProperties();
  var SPREAD_SHEET = PROPERTIES.getProperty('SPREAD_SHEET')
  var sheet = SpreadsheetApp.openById(SPREAD_SHEET);
  // スプレッドシートに追記するCSVデータを生成
  var appendData = new Array();
  var cells = e.parameter.action.split(",")
  for(var i = 0; i<cells.length;i++){
    appendData.push(cells[i])
  }
  // スプレッドシートの最終行に追記
  sheet.appendRow(appendData);

  return ContentService.createTextOutput(JSON.stringify({'status': 'OK'}))
         .setMimeType(ContentService.MimeType.JSON);
}

「ウェブアプリケーションとして導入」を実施します。
06.jpg

アプリケーションにアクセスできるユーザーは「全員(匿名ユーザーを含む)」に設定し「更新」を実施します。
初回はGoogleドライブ上へのアクセス許可を求められるはず。。。
スクリーンショット取り忘れました。。。
07.jpg

テストとしてブラウザから「1,2,3, ,abcde」を指定して呼び出してみます。
08.jpg

スプレッドシートに追記されました。
09.jpg

以上。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5