【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