我们有一个非常具体的需求。我们想为 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/