java - 如何通过 Google 文档列表 API 以编程方式创建和管理 Google 表单

标签 java google-docs google-docs-api cloud-storage

我们有一个非常具体的需求。我们想为 Activity 组织者创建一个通用的(基于 Java 的)注册系统。因此,每个 Activity 组织者都可以在我们的应用程序上定义自定义表单,然后我们从用户那里收集该特定 Activity 的数据。

现在输入字段可以从一个事件变为另一个事件,所以我想使用一些开箱即用的云解决方案。我想到的一件显而易见的事情是使用 Google 表单。因此,对于每个事件,如果我们能够以编程方式创建一个 Google 表单并获得以下两件事: 1) 该表格的嵌入链接 2) 获取相应数据保存Google Spreadsheet

我们可以使用嵌入链接在 Activity 页面上向用户显示注册表。我们可以访问 Google 电子表格来访问用户填写注册表的数据。

但是当我搜索它时,我找不到明确的方法来实现这一点。有一些 Google Documents List API,您可以通过它以编程方式创建 Google 文档,但我想不通,如何通过这个 API 来满足我们的需求。

如果有人能在这方面指导我们,那将有很大帮助。或者向我们推荐任何替代的云解决方案。

更新:: 看起来 Google 根本没有为与电子表格链接的表单提供 API。 http://goo.gl/ia8rk如果幸运的话,它们可能会包含在未来的版本中。 那么任何其他基于云的 API 可以方便地解决这个问题??

最佳答案

如果我没理解错的话,您有一个 Google 表格,并且您想要一种自动生成表格的方法。该生成的表单应将其响应链接回该电子表格。对吗?

我不知道如何使用 Java 来实现这一点(如果有可用的 API,我认为不会),但是使用 Google Scripts 可以轻松实现。这是在 Google 电子表格的脚本编辑器中构建的。

这是一个例子:

function onOpen() {
  // read the docs to add to the toolbar
}

function getColumnHeaders() {
  // this grabs the headers of your sheet
  var headers = SpreadsheetApp
    .getActiveSheet()
    .getRange(1, 1, 1, SpreadsheetApp.getActiveSheet().getLastColumn())
    .getValues()[0];

  // this will appear in your root directory
  var newForm = FormApp.create('NEW FORM NAME');
  newForm.setDestination(FormApp.DestinationType.SPREADSHEET, SpreadsheetApp.getActiveSpreadsheet().getId());

  headers.forEach(function(each) {
    newForm.addTextItem().setTitle(each);
  });
}

文档可在此处找到:https://developers.google.com/apps-script/reference/forms/

关于java - 如何通过 Google 文档列表 API 以编程方式创建和管理 Google 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16357053/

相关文章:

google-apps-script - 如何通过 Google Apps 脚本在 google 文档中插入水平线?

ruby-on-rails - 当我尝试使用 Omniauth + Google Apps 时,为什么 heroku 超时?

curl - 从命令行下载/导出公共(public) Google 电子表格作为 TSV?

java - 如何在 Spring Web Flow 2 中编写自定义转换器?

java - Drools 集成与传统方式

google-chrome - 无法将 SVG 图像从 Wiki 复制到 Google 文档

google-maps-api-3 - 如何使用谷歌文档中的数据在谷歌地图上显示标记?

google-drive-api - 谷歌电子表格批量更新很慢

java - 为什么java在人工智能领域应用不多

java - 带有按钮和静态字符串数组的 ListView