lisz-works

技術と興味の集合体

GASでGETで値を取得!Google Apps ScriptにGETしたリクエスト

【スポンサーリンク】

Google Apps Script

GAS(Google Apps Script)にGETリクエストして、「値を取得する」を試してみました!

これを使えば、

  1. WebAPIなどから取得した値をリクエストしたタイミングで取得
  2. スプレッドシートの内容を取得

などなど、いろいろなことができますよ!

GETするためにすること

やることの流れは

  1. ソースを書く(主にdoGet)
  2. ウェブアプリケーション公開設定
  3. GETリクエストする!

といった流れです!

ソース

最低限必要なのはコレ!

function doGet(e) {
  return ContentService.createTextOutput(JSON.stringify( { 'name': 'ils', 'dat' : 'data' } ))
    .setMimeType(ContentService.MimeType.JSON);
}

実装したもの

今回はスプレッドシートと連携するものを試しに作ってみました。

「Gas2SpreadSheet」というオブジェクトを使っている、スプレッドシートについての処理は、この記事のものを使っています。

www.lisz-works.com

function getDatetimeString() {
  var date = new Date();
  var time = "" + date.getFullYear() + "/" + (date.getMonth()+1) + "/" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes();
  Logger.log(time);
  return time;
}

function doGet(e) {
  console.log("in doGet ---------");
  var dat = Gas2SpreadSheet.readRange(1, 2, 2, 1);
  
  // シートにログる
  Gas2SpreadSheet.writeSheet(getDatetimeString(), 4, 1);
  
  var name = dat[0][0]
  var data = dat[1][0]
  return ContentService.createTextOutput(JSON.stringify({'name': name, 'dat' : data}))
    .setMimeType(ContentService.MimeType.JSON);
}

Webアプリ化する

GETリクエストは、作ったロジックをWebアプリケーション化することで使えるようになります。

ということで設定をしましょう!

Webアプリ化する設定

まずはメニューから「公開」を選択。

メニュー→公開

1番上の「Webアプリケーションとして導入」を選択しましょう。

Webアプリケーションとして導入

すると設定画面が出てきます。

「プロジェクトのバージョン」の説明欄に適当な説明を入力しましょう
最初なので「初版」でいいと思います。

設定の入力

公開設定などはお好みで!

入力が済んだら「OKボタン」を押しましょう!

アプリにアクセス!

設定を完了すると、このように設定したアプリのURLが表示されます。

これをコピーして、ブラウザからアクセスしてみましょう!

URL

JSON形式のテキストが表示されたら成功です!

テストのリンクと表示URLの違い

設定完了後のURL表示周りを見ると

  1. 現在のウェブアプリケーションのURL
  2. ウェブアプリケーションで最新のコードをテストします

がありますよね?

「これなんの違いがあるの?」

「現在のウェブアプリケーションのURL」の場合

「現在のウェブアプリケーションのURL」は、いわば本番環境
つまり外部などからアクセスする場合のURLです。

「どこかからGETリクエストして使うぞ!」

となったときは、コチラの「本番環境の」URLを使います。

しかし本番環境の方は、バージョンを上げないと修正した処理が反映されません。

なので

  1. ロジック修正
  2. Webアプリ化する設定
  3. URLにアクセス

という手順が必要があります。

ちなみに設定は、「プロジェクトバージョンを新しくするだけ」です!

「ウェブアプリケーションで最新のコードをテストします」の場合

「ウェブアプリケーションで最新のコードをテストします」のリンクはというと、テスト環境です。

「ロジック修正→テストURLにアクセス」で処理の確認はできるようです。

参考

こちらを参考にしました。ありがとうございました!

qiita.com

あとがき

Webを経由したものというのが、こんなに簡単に作れるんだなぁとしみじみ感じております。

あまり詳しくない界隈だから余計にですね(笑)