弊社では日報入力にGoogleフォームを使っています。
日報入力時に自動入力されたGoogleフォームをメールで送信しているのですが、実際どうやってるのかを思い出しながら記載してみます。

# システムの仕組み

収集された日報データ(スプレッドシート) 
 ⇒ 時間によるトリガー発生
  ⇒ 最新データ抽出 
   ⇒ GoogleフォームURL作成 
    ⇒ メール本文にURLを入れて送信

となっています。

この中の
GoogleフォームURL作成
について簡単に記載してみます。

# GoogleフォームURL作成

Googleフォーム作成時にフォームのURLが作成されています。
プレビューをした際のURLをベースにします。

実際使用しているのGoogleフォームのベースURL

https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/viewform

上記の画像の「送信」からメールで共有したGoogleフォームのメールにあるURLはいかになります。

https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/viewform?vc=0&c=0&w=1&usp=mail_form_link

# データを入れてみる

説明を少し飛んで、実際にメールで送っているURLを確認してみます。

とある日の大輔さんに送られたメールにあるURL

https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/viewform?usp=pp_url&entry.1209443717=2020-02-06&entry.967550270=THMNPC&entry.420650357=%E5%87%BA%E7%8E%89%E8%AA%BF%E6%95%B4&entry.2047046172=&entry.734571459=&entry.1659707811=&entry.104474459=

やたらと長いパラメータが搭載されています。

usp=pp_url&
entry.1209443717=2020-0206&
entry.967550270=THMNPC&
entry.420650357=%E5%87%BA%E7%8E%89%E8%AA%BF%E6%95%B4&
entry.2047046172=&
entry.734571459=&
entry.1659707811=&
entry.104474459=

usp=pp_urlは前に回答済みのURLという意味らしいので呪文ということで(詳しく調べてない)

entry.~~~の部分がキモです。
これが自動入力用のパラメータですが、それぞれIDのような番号になっています。
この番号はフォームに質問を作った際に割り振られています。
ではどうやってこのIDを知るか・・・?

伝家の宝刀「ページのソースを表示」を使います。

開くとソースが表示されますので、下の方に進んでいくと・・・

何やら本題のような場所が現れます。
ここが先ほどのIDになります。

,[77090801,"時間(遅刻は出勤時間、早退は退勤時間、他は未入力)",null,10,[[1431363095,null,0,null,null,null,[0]

気を付けるのは使用する数値は最初の数字ではなく、子要素的な数値のほうが実際のIDになります。
(上記の場合は「1431363095」になります)

全ての質問にIDがありますので、任意のIDをセットして内容を文字列で追加すればOKです。

スクリプト側のプログラムとしては

      var prj1 = encodeURI(dataValues[idValues[i][1] - 1][columnPjc1]);

という形でencodeURLされたものを連結していけばOKです。

      var url = 'https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/viewform?usp=pp_url' + 
      '&entry.1209443717=' + date +
      '&entry.967550270=' + prj1 +
      '&entry.420650357=' + txt1 +
      '&entry.2047046172=' + prj2 +
      '&entry.734571459=' + txt2 +
      '&entry.1659707811=' + prj3 +
      '&entry.104474459=' + txt3

こんな感じでURLが完成です。

# 余談

なお、上はいかなるgoogleフォームでもやれますが、
自分が作ったフォームならURLやIDはもう少し簡単に作れます。

事前入力したURLを取得、を使うと上記IDが記載されたURLが取得できます。

えっ?こっちが王道では?・・・( ^ω^)