google-apps-script - 将部分从一个表单复制到另一个表单
问题描述
我正在使用脚本来更新多个 Google 表单,这些表单共享相同的前两个页面/部分,但具有完全不同的第三页/部分。
例如,
表格 1:第 1 页 > 第 2 页 > 第 3 页 > 提交
表格 2: 第 1 页 > 第 2 页 > 第 4 页 > 提交
表格 3: 第 1 页 > 第 2 页 > 第 5 页 > 提交
我知道我可以在第 2 页上提出一个指向 3、4 或 5 的问题,具体取决于该问题的答案。但是,客户请求了三种具有不同 URL 的不同表单,排除了这种可能性。
目前,我分别更新了所有三个表格:
1. 从表格 1 中删除所有内容,然后从头开始重建。
2. 从 Form 2 中删除所有内容,然后从头开始重建。
3. 从 Form 3 中删除所有内容,然后从头开始重建它。
我的问题是:有没有办法生成第 1 页和第 2 页,然后将它们“复制”到所有三种形式?
1. 重建第 1 页和第 2 页(例如在虚拟表格上)。
2. 将第 1 页和第 2 页复制到表格 1。重建第 3 页。
3. 将第 1 页和第 2 页复制到表格 2。重建第 4
页。
4. 将第 1 页和第 2 页复制到表格 3。重建第 5 页。
我也知道我可以用第 1 页和第 2 页制作一个表格,然后将该表格复制三遍并使用这些副本。但是,客户希望 URL 通过表单更新保持不变。我无法使用副本,因为复制表单会为其生成一个新 URL。我必须更新已经存在的表格。
想法?
解决方案
在这个问题上,我看到了几个潜在的问题:
表格结构
- FormApp 通过使用多种项目来管理问题、“页面”和“部分”,这些项目都可以使用Interface Item来处理。这些项目之间没有容器或父子关系。
复制项目
- FormApp 不包含项目的复制方法,但可以将相同的属性对象设置为多个项目。
保持相同的网址
- Google 表单网址是唯一的,不能重复使用。有报告称表单无法使用,因此最好做好准备以防万一(不要承诺表单 URL 永远不会改变)。一种方法是使用参数来处理表单 ID/URL,而不是对它们进行硬编码。
推荐阅读
- javascript - 在 JavaScript 中展平 JSON
- java - 如何在我的 Spring 应用程序中添加 SASL 身份验证
- c++ - 用 [] 替换 .at() 的 C++ 宏
- hive - Hive - 巨大的 10TB 表重新分区(添加新的分区列)
- java - 我无法理解 http 请求的响应
- java - OAuth2RestTemplate 将字符集添加到内容类型标头中
- javascript - TypeError:无法读取 null 的属性“userID”
- python - 收到“TypeError:JSON 对象必须是 str、bytes 或 bytearray,而不是 dict”
- c++ - 为什么我的递归快速排序算法有这样不平衡的分区?
- javascript - 如何显示最近 7 天的数据