8

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

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

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

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

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

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

4

1 回答 1

1

如果我理解正确,您有一个 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/

于 2016-06-03T08:31:15.090 回答