見出し画像

Googleフォームで初期値を設定する場合はURLの2000文字制限にご注意を

こんにちは!KCompany代表のケータです!

Googleフォームの初期値を設定する方法について、以前より何回かnoteに投稿しました。これこれです。また、これらの方法を転用しつつGAS連動で簡単な顧客管理システムを作る方法もご紹介しました。

で、この知見を元に、実際に転用する形でシステムを組んでみて生成されたURLをクリックしてみたら、Bad Requestになってしまいアクセスすることができない!という事態が発生・・・。

元々デフォルトで設定する値の中に、やたらと長い長文のテキストがあったので、まっさきにURLが長くなりすぎてるのが怪しいのではないか、、、と直感的に判断しました。

で、ぐぐってみたら、見事に以下のstackoverflowがヒット。

Q.ブラウザごとのURLの最大長を教えてください。
 各ブラウザでのURLの最大長はどのくらいですか?ブラウザによって異なりますか?
 URLの最大長は、HTTP仕様の一部ですか?
A. 短い答え - 事実上の2000文字の制限
URLを2000文字以内に抑えれば、クライアントとサーバーのソフトウェアのほぼすべての組み合わせで動作します。
特定のブラウザをターゲットにしている場合、特定の制限についての詳細は以下を参照してください。

※DeepL使った翻訳です。詳細の回答はstackoverflowを参照ください。

やっちまったぁ〜〜〜という感じです。

元々、長文テキストを入れ込む想定ではなかったのですが、これは完全に想定外。今回は都度編集が必要なアンケート内容でもなかったので、別の方法で代替する提案をして事なきを得ましたが、冷や汗ものでした。

改めてGoogleフォームの編集ができる方法を検索してみましたが、やはり下記のような回答となり、あまり使い勝手はよくなさそう。

今の所の結論としては、
①URLが2000文字以内に収まる場合はデフォルト値をURLに仕込む方法でいけそう。
②そうでなければ、Googleフォーム使わないで別のサービス使うなりシステム組むなりしよう。
という感じになりそうです。

【お仕事のご依頼について】

こちらの記事に記載した内容以外にも、Google Apps Script開発やGoogle Workspaceを活用したデジタル化推進のお仕事を行っています。【GAS】そのまま使えるシリーズのカスタマイズのご相談ももちろん大丈夫です。
ちょっとしたお困りごとでも、こちらのサイトのお問い合わせフォームからご連絡いただければ、折り返しご連絡いたします。

よろしければサポートをお願いします!いただいたサポートは、サービス開発・改善のために使わせていただきます。主に書籍代や勉強会の参加費用などを想定しています。よろしくお願いします。