【发布时间】:2023-12-24 05:32:01
【问题描述】:
我正在尝试收集用户代理以响应 Google 表单。是否可以使用 Google 脚本编辑器执行此操作?如果是这样,你能给我一些指导吗?
谢谢!
杰奎琳
【问题讨论】:
标签: google-apps-script user-agent google-forms
我正在尝试收集用户代理以响应 Google 表单。是否可以使用 Google 脚本编辑器执行此操作?如果是这样,你能给我一些指导吗?
谢谢!
杰奎琳
【问题讨论】:
标签: google-apps-script user-agent google-forms
我也需要这个并玩弄replicating the form myself 并添加一个新的隐藏字段,但这似乎是:
因此,我在我的应用程序中嵌入了 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 表单中添加了一个名为“系统信息”的字段(就在提交按钮之前),要求用户在提交之前单击该按钮并将结果粘贴到该字段中。可以做到这一点。
不太好,但现在可以了 - 直到我想出一个更好的解决方案来自动执行此操作(这可能意味着自己完成所有操作或使用其他表单提供程序)。
【讨论】:
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()”。
【讨论】: