ダリアメモ@ブログ

日々思ったことや自分用のメモも含めプログラムの技術を淡々と書いていきます

【GAS】ウェブアプリーケーションとして使う場合にパラメーターを渡す方法

概要

よくWebのAPIを呼び出すときにパラメーターに応じて取得する内容を変えるのをGASでしたかったので、調べたことを忘備録の意味合いも含めて記事を書きます。

スクリプト準備

GASでHTTP通信が行われた際に、do◯◯系のコールバックが呼ばれます。

  • GETの場合はdoGet()、POSTの場合はdoPOST()

このdo◯◯コールバックには引数を入れることができ、この引数のparameterというプロパティの中に渡されたパラメータが格納されてます。

function doGet(e){
//e.parameterに渡されたパラメーターが入る
}

例としてuserNameという自身の名前を入れてもらうパラメーターを使用したい場合は、以下のようにすることで使用できます。

function doGet(e){
    var userName = e.parameter.userName;
   //以降適当な処理 
}

次に先程追加したパラメーターをURLに追記して渡せるようにします。

URL準備

まずはURLが必要になるので、GASをウェブアプリケーションとして実行できるようにします。
上のメニューから「公開」→「ウェブアプリケーションとして導入」を押すと設定のダイアログが出るので、よしなに設定します。

  • Project Version : 1.0
  • Execute the App as : Me
  • Who has access to the app : Only myself

※注意点として既にウェブアプリケーションとして公開している場合は、プロジェクトのバージョン情報を新しくしないと反映されないので、コンボボックスからNewを選択してバージョンを新しくします。

設定が終わったらOK、もしくは更新を押すとURLが発行されるので、このURLにパラメーターを追加して渡すようにします。
先程のuserNameを渡したい場合は、以下のようになります。

発行されたURL?userName=入れたい名前

後はこのURLをブラウザなりcurlなりで開いて、入れた名前がうまく実行できていれば成功です。

今回は単体でしたが、複数のパラメーターを入れたい場合は&で繋げるようにします。

発行されたURL?パラメーター名1=パラメーター1&パラメーター名2=パラメーター2

参考

GASでURLを踏んでスクリプトを動作させたときにパラメータを渡す方法

GASでGetパラメータを受け取ってスプレッドシートに書き込む方法