GETリクエストを処理したい(doGet)

1function doGet(e) {
2    // https://script.google.com/macros/s/スクリプトID/exec?name=John へのアクセス
3    const name = e.parameter.name || "world";
4    return ContentService.createTextOutput(`Hello, ${name}!`);
5}

doGet関数は、ウェブアプリとして公開したGASがGETリクエストを受け取ったときに呼ばれる関数です。 GASのエディターからウェブアプリとしてデプロイすると、 https://script.google.com/macros/s/スクリプトID/exec でアクセスできるようになります。

doGet関数は、ひとつのプロジェクトにひとつだけ定義できます。

引数したい(e)

doGet(e)の引数eには、リクエストの情報が入っています。

プロパティ

内容

e.parameter

クエリの値。同じ名前が複数あるときは最後の値

e.parameters

クエリの値。同じ名前が複数あるときは配列

e.queryString

クエリ文字列そのもの(name=John)

e.pathInfo

/execより後ろのパス

e.contextPath

常に空文字(仕様)

?name=Johnというクエリでアクセスすると、e.parameter.nameでJohnを取得できます。 ?tag=a&tag=bのように同じ名前を繰り返すときは、e.parameters.tagで["a", "b"]を取得できます。

MIMEタイプしたい(ContentService)

レスポンスはContentService.createTextOutputで作成します。 デフォルトのMIMEタイプはTEXTなので、テキストを返すだけならsetMimeTypeは不要です。

1// JSON形式で返すときはMIMEタイプを明示する
2return ContentService.createTextOutput(JSON.stringify(data))
3    .setMimeType(ContentService.MimeType.JSON);

リファレンス