我是 Google 表单和 Google Apps 脚本的新手。我有十个 Google 表单,在提交表单时,它们会填充相应的 Google 表格。
现在,这就是我想要的,在提交表单时,我希望该信息也存储在云 SQL 数据库中。哪些步骤将实现这一目标?
请您参考如下方法:
接受响应并将它们复制到电子表格的 Google 表单的正常数据流如下所示:
您有两个机会让表单提交触发器复制 Cloud SQL 数据库中的表单响应;您可以从 Google Form Form submit event 触发或 Google Sheets Form submit event .
无论哪种方式,您都将拥有一个为每次表单提交调用的脚本,以及一个包含响应值的事件对象。您的触发器函数应该使用 JDBC连接到数据库 - 该链接包含一个介绍,可引导您完成亮点。
例子
假设我们有一个表单询问两个问题,“姓名”和“年龄”。这将导致我们的电子表格中有 3 列;每个问题的“时间戳”加一个。
为了匹配,我们使用相同的三列设置了一个 Cloud SQL 数据库。
写入 Cloud SQL 数据库的 Google Sheets 表单提交触发器函数类似于以下未经测试的代码:
// Replace the variables in this block with real values.
var address = 'database_IP_address';
var user = 'user_name';
var userPwd = 'user_password';
var db = 'database_name';
var dbUrl = 'jdbc:mysql://' + address + '/' + db;
// Receive form response and replicate to a row in SQL table
function handleFormSubmit( event ) {
var conn = Jdbc.getConnection(dbUrl, user, userPwd);
var stmt = conn.prepareStatement('INSERT INTO entries '
+ '(Timestamp, Name, Age) values (?, ?, ?)');
stmt.setString(1, event.namedValues['Timestamp']);
stmt.setString(2, event.namedValues['Name']);
stmt.setString(3, event.namedValues['Age']);
stmt.execute();
}




