LoginSignup
0
0

Google Formsで、後から事前入力済フォームを作成する

Posted at

はじめに

Google Formsでアンケートを配布する際に、事前にいくつかの項目を入力済みにしておきたいということは、往々にしてある。
例えば、以下の画像のようなアンケートが本社から、支部の事務に届いた際、アンケートURLを支部内で再配布することになるのだが、再配布する相手は全員同じ勤務地である。そこで、1つ目の勤務地選択については、こちらで入力済のURLを再配布するほうが、間違いも少なく、良いと考えられる。

image.png

もちろん、アンケートの編集権限があれば、以下のようにメニューから事前入力したURLを発行できるものの、編集権限がない場合はどうすればいいのだろうか。

image.png

解決方法

そもそも、事前入力したURLというのは、https://docs.google.com/forms/d/e/〇〇〇〇〇〇〇〇〇〇〇〇〇/viewform?entry.136176518=神戸本社のようにフォーム自体のURLの後ろに、URLクエリパラメータとして、「entry.」から始まる質問の識別番号と、その答えが書かれている。つまり、識別番号さえわかれば、編集権限がなくとも、自由に事前入力したフォームのURLを生成できる。
この識別番号であるが、開発者ツールで確認すると、data-params属性の中に普通に書かれている。これをURLクエリパラメータとして入力しておくことで、事前入力済みのフォームのURLを生成できる。

image.png

なお、以下のコードは、「****」の部分に、何番目の質問(0始まりに注意)か数値を入力して利用するJavascriptのコードである。開発者ツールを開き、数値を入力した上で、コピペ&実行すると、識別番号を表示してくれる。

Google Forms
Array.from(document.querySelectorAll("[role=listitem]")[****].querySelectorAll("[data-params]")).forEach(e=>console.log(JSON.parse("["+e.getAttribute("data-params").slice(4))[0][4][0][0]))

参考文献

大変、参考になった文献。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0