Posted at

Google FormのUIを自作する際に回答控えのメール自動返信を実装するのはむずかしい


はじめに

メモ書き的な要素がかなり強いです.つらいので記録に残します.


Google Formを利用して楽にお問合せフォームを作りたい

こちらをご確認いただきたい.

Googleフォームを自在にカスタマイズする

この時HTTPリクエストには

FormDataとして

entry.(フォームを識別する番号): 入力値

というクエリが入っている.


控えのメールを送りたいが困った

Google Formでは入力したメールアドレスに控えを送る設定ができる.しかしこれを有効にすると,作成したフォームが動かなくなった.

ステータスコードが400でなにか不備があるようである.

調べてみたがForm Dataには以下の内容が必要のようだ.

emailAddress: example@example.com

entry.207103****: ちぇちぇ坊
entry.116507****: ほげほげ
entry.120646****: ふがふが
entry.202610****: ほがふげ
emailReceipt: true
g-recaptcha-response: 03AOLTBLRlGQIKQM7M481ZOkjJZGJjMYPlVQCVPCgtGz...(400文字くらいの英数列)

このg-recapthcha-responseはRecaptcha認証を通過した際に生成されるもので,これを取得し,FormDataとともに送信できれば控えメールを送ることができる.


これを取得できない限りリクエストが通ることはない.そして取得する手段がわからなかった.

ちなみに以下の内容はリクエストに含まなくても良い

fvv: 1

draftResponse: [null,null,"90993149820********"]
pageHistory: 0
fbzx: 90993149820********


どうしたらええんや

いっそ以下のような手段を使うと良いでしょう.

Google Form で送信した後に自動で返信メールを送る

スプレッドシートに登録された際,そこに書かれたメールアドレスにメール送信する.

いいやり方が見つかれば書き足します.

Google Form使うこと自体がそもそもの過ちか...?