今さらながらGASの便利さに気付き色々試しております。
本頁は、Google Apps Script をWebAPIとして利用して、Googleドライブ上のスプレッドシートに追記するメモです。
GASからアクセスできるように共有可能なリンクを取得します。
「?id=」以降がGAS側で利用するIDです。
たいしたコードでも無いので、ソースコードにそのままIDを埋め込んでも良いですが、 一応GASのプロジェクトプロパティにIDを入れておきます。
GAS上のソースコードは以下です。 リクエストパラメータは手抜きしてactionをそのまま使用。。。
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); }
「ウェブアプリケーションとして導入」を実施します。
アプリケーションにアクセスできるユーザーは「全員(匿名ユーザーを含む)」に設定し「更新」を実施します。
初回はGoogleドライブ上へのアクセス許可を求められるはず。。 。 スクリーンショット取り忘れました。。。
テストとしてブラウザから「1,2,3, ,abcde」を指定して呼び出してみます。
スプレッドシートに追記されました。
以上。