【发布时间】:2012-10-12 10:03:57
【问题描述】:
我正在考虑使用谷歌表单的应用程序,我需要从该应用程序创建表单。有没有办法在谷歌文档中创建表单而不使用网站,而是通过一些 api 或其他方式?
【问题讨论】:
标签: api google-apps-script google-docs google-forms google-docs-api
我正在考虑使用谷歌表单的应用程序,我需要从该应用程序创建表单。有没有办法在谷歌文档中创建表单而不使用网站,而是通过一些 api 或其他方式?
【问题讨论】:
标签: api google-apps-script google-docs google-forms google-docs-api
我可以提供一个使用 Google 应用脚本的解决方案的想法。
从 2013 年初开始,您可以非常轻松地使用 App Script Forms Service API 创建新表单。
var form = FormApp.create(title)
.setDescription(description)
.setConfirmationMessage('Thanks for responding!')
;
现在的问题是如何从您的非应用脚本代码中运行该应用脚本。
您可以使用应用脚本创建一个Web App,以响应 HTTP GET 请求。
因此,将它们放在一起,您可以创建一个响应 GET 请求的 App Script Web App,当它获取正确的 URL 参数时,它会创建表单。
【讨论】:
(2020 年 11 月) 是的,可以programmatically create Google Forms。你可以通过Google Apps Script 使用它的Forms service 来做到这一点。您还可以扩展代码以从 Google Docs 中读取内容(使用 Apps 脚本的 Document service)并将其用于创建 Google 表单。
我创建了一个 Google Workspace (formerly G Suite) Add-on,您可以将其视为 Google Docs 扩展,名为 GFormIt。其最初的目的是让教师在 Google Docs 中编写考试/测验,可能还有答案,然后自动将它们转换为 Google Forms 以分发给将答案提交到 Google Sheets(Google Forms 提交的目的地)的学生。
此外,如果您(老师)提供了测试问题的答案,GFormIt 还会像您是学生一样自动将您的答案提交到工作表。如果您这样做,并使用Flubaroo 之类的工具对考试进行评分,则可以将工作表中的行指定为“答案键”。您可以在上面链接的 GFormIt 页面上详细了解它的工作原理,包括观看短视频。
此Google Docs add-on 以及其他用于 Google 文档、表格、幻灯片、表单等的内容均已通过 Google 认证/验证,Google Workspace Marketplace 中的任何人均可免费使用。 (但是,您的管理员可能必须授予您权限才能尝试将它们安装到您的公司 Workspace 帐户。)如果有兴趣构建您自己的附加组件,请参阅 developer documentation 和一些 my introductory videos 以开始使用,最相关的是这个答案顶部的链接。
Apps Script 是一种无服务器的 Google 技术,这意味着您在浏览器中编写代码(使用 JavaScript),它由 Google 服务器托管并在 Google 服务器上执行。如果您想创建自己的网络应用程序(并托管在任何地方),您将不得不等待在撰写本文时不存在的 Google Forms REST API。 (如果我们推出了一个,您可以在 https://developers.google.com/forms 找到它的文档以及其他文档,如 Sheets https://developers.google.com/sheets、Gmail https://developers.google.com/gmail、Drive https://developers.google.com/drive 等)
【讨论】:
抱歉,API 不支持以编程方式创建表单。
【讨论】: