我正在使用Google Spreadsheet作为基本数据库。这里讨论的一对多关系是“Leads”表和“Comms”表。每个潜在客户都可以进行多种通信(电子邮件,推文,电话等)
当用户填写Google表单时,我有一个脚本会将关联表单中的部分数据插入“潜在客户”表单,并通过电子邮件发送给用户:
function formSubmitReply(e) {
srcSheet.getRange(srcLastRow, 1).copyTo(leadsSheet.getRange(leadsLastRow + 1, 1)); // Copy timestamp
srcSheet.getRange(srcLastRow, 6).copyTo(leadsSheet.getRange(leadsLastRow + 1, 5)); // Copy first name
srcSheet.getRange(srcLastRow, 7).copyTo(leadsSheet.getRange(leadsLastRow + 1, 6)); // Copy surname
leadsSheet.getRange(leadsLastRow + 1, 3).setValue("Web - Unknown"); // Mark as WEB lead
leadsSheet.getRange(leadsLastRow + 1, 4).setValue("New"); // Set status to NEW
// Email the user ...
}
我还想生成一个ID,这样我就可以将通信恢复到给定的线索。最好的方法是什么?到目前为止我想到的想法包括生成一个非常长的GUID,或使用顺序ID,例如L1,L2,L3等
我更喜欢后一种想法的可读性,并更好地了解数据,但
a)我将使用哪些代码来查找带有L前缀的最后一个ID,并将其递增?
b)在我重新排序工作表的情况下,防止错误地增加ID的最佳方法是什么?
答案 0 :(得分:1)
每个回复都有一个时间戳。您可以将其用作响应ID。
另一种方法是在编辑响应URL中使用response_id。
回复网址如下所示
https://docs.google.com/forms/d/0awKpg_finiay86360kNXrcjihl36azP3DJEaZqXDY7A/viewform?edit2=2_ABaOmuk-sIHc2HrfDJO6d8CsST-Te-5ib2l0uFknhPt0DyjM3YhSXEkEtyirN8l
response_id是edit2=
之后的字符串,因此对于上面的示例,response_id是
2_ABaOmuk-sIHc2HrfDJO6d8CsST-Te-5ib2l0uFknhPt0DyjM3YhSXEkEtyirN8l
要获取唯一回复网址,请使用FormResponse.getResponseUrl