在Google表单中收集UserAgent

时间:2015-03-25 15:39:45

标签: google-apps-script user-agent google-form

我正在尝试收集用户代理以获取对Google表单的回复。是否可以使用Google Script Editor执行此操作?如果是这样,你能给我一些指示吗?

谢谢!

杰奎琳

2 个答案:

答案 0 :(得分:0)

我也需要这个,并且喜欢replicating the form myself并添加一个新的隐藏字段,但这似乎是:

  1. 危险。 (Google可能会将我的表单列入黑名单。)
  2. 由于在Google服务器端该字段没有处理程序,因此无法正常工作。

因此,我在应用程序中嵌入了Google表单,并在其上方添加了一个按钮,该按钮使用clipboard.js将用户代理字符串复制到剪贴板。 (我使用jQuery构建了嵌入Google表单的页面,但是您会明白的。)

let $systemInfoButton = (`<a id="copy-user-agent" class="plain-button" data-clipboard-text="${navigator.userAgent}">Copy System Info</a>`);
...
new ClipboardJS('#copy-user-agent');

然后我在Google表单中(在“提交”按钮之前)添加了一个名为“系统信息”的字段,要求用户单击按钮并将结果粘贴到该字段中,然后再提交。可以做到这一点。

不太好,但是它将暂时执行-直到我想出一个更好的解决方案,该解决方案可以自动执行此操作(这可能意味着自己完成所有操作或使用其他表单提供程序)。

答案 1 :(得分:-2)

Collecting the Email or Name of Form Respondents: 如果您使用的是Google Apps域,则可以选择表单编辑器顶部的“自动收集受访者的yourdomain.com用户名”复选框。如果您不在Google Apps域中,则必须提供问题要求提供电子邮件或姓名。

至于使用脚本,请查看以下相关帖子:Get username on form submission when form is embedded。由于此方法使用的是脚本,因此可能需要您的表单用户批准脚本访问其身份(至少在第一次使用时),这对许多用户来说可能看起来很可疑,具体取决于表单目的。如果您不在某个域中,可能更容易简单地包含一个问题。

如果您使用Google Apps脚本的Forms Service构建自己的表单,则可以获得更多控制权。看一下formResponse方法“getRespondentEmail()”。