Google フォーム送信後に redirect させるサンプルコード

Google フォームで送信ボタンをクリック後に特定の URL へ redirect するサンプルコードをご紹介します。

G Suite | Google Apps

前提条件

以下のようなフローを実現したいというのが前提条件です。

  1. Android / iOS アプリから Google フォームの URL を開く
  2. Google フォームに必要な情報を埋めて [送信] ボタンをクリックする
  3. [送信] 後、Deep Link, Custom URL Scheme へ redirect させて、再び Android / iOS アプリを開く

Google フォームで送信後 redirect するサンプルコード

以下のサンプルコードと同じものを https://codenote-net.github.io/sandbox/google-form-redirect/ にて公開しているので、動作確認にご利用ください。

<!DOCTYPE html>
<html>
<head>
    <title>Redirect after submitting Google Form</title>
</head>
<body>
    <iframe id="my-google-form"
        src="https://docs.google.com/forms/d/e/1FAIpQLSeh-Y0pggtUsikRCw-HRIvVDe98rztanA-4Gh8S4GsPDstscw/viewform?embedded=true"
        frameborder="0" width="100%" height="100%">Loading…</iframe>
 
    <script type="text/javascript">
        var load = 0;
        document.getElementById('my-google-form').onload = function () {
            // Execute on every reload on iFrame
            load++;
            if (load > 1) {
                // Second reload is a submit
                document.location = "https://www.google.com/search?q=thanks&tbm=isch";
            }
        }
    </script>
</body>
</html>

Redirect after submitting Google Form – Stack Overflow

Google フォーム + JS 処理で redirect の懸念点

上記のサンプルコードで Google フォーム送信後に JavaScript 処理で redirect させることはできたのですが、以下が微妙だなと思っている点です。

  • Google フォームの URL をそのまま使えない
  • Google フォームの iframe を埋め込んだ html ファイルをどこかに hosting しないといけない
  • Google フォームを iframe で fullscreen 表示できない(CSS, JS で頑張ればできるかも?)

以上、Google フォームで送信ボタンをクリック後に特定の URL へ redirect させたい、現場からお送りしました。