【发布时间】:2019-08-31 20:40:57
【问题描述】:
我有一个 Google 表单,可以输出对 Google 表格的回复。我的一些表单问题有很长的段落响应,因此我希望能够单击跟踪表中每一行上的链接,并让它打开从表单的“响应”选项卡中看到的原始响应页面。
我尝试生成的 URL(通过从表单转到 Responses -> Individual 获得,如下所示:
https://docs.google.com/forms/d/<form_id>/edit#response=<response_id>
我查看了 FormResponse API 文档,但无法从 FormResponse 对象中提取 Google 表单查看器使用的相同 ID。虽然我知道适当的表单 ID,但对该 URL 有效的响应 ID 与 FormResponse.getId() 或 FormResponse.getEditResponseUrl() 返回的响应 ID 不同。换句话说,我无法从表单 API 中获取生成该链接所需的数据。我宁愿不使用他们支持生成的编辑链接来查看我的回复。
我的最终目标是在我的回复表单的每一行中都有一个上述格式的链接。具有该格式的正确链接会将您带到该行中特定响应的单个响应查看器页面。即,我想转这个:
+-----------+------------+
|Question 1 | Question 2 |
+-----------+------------+
|Long answer| Another ans|
+-----------+------------+
|One more an| Additional |
+-----------+------------+
进入这个
+-----------+------------+------------------------------------------------------------+
|Question 1 | Question 2 | View link |
+-----------+------------+------------------------------------------------------------+
|Long answer| Another ans| https://docs.google.com/forms/d/abc123/edit#response=def456|
+-----------+------------+------------------------------------------------------------+
|One more an| Additional | https://docs.google.com/forms/d/abc123/edit#response=ghi789|
+-----------+------------+------------------------------------------------------------+
作为参考,我尝试将 URL 生成为 "https://docs.google.com/forms/d/" + formId + "/edit#response=" + responses[i].getId(),但是当访问该 URL 时,它说响应 ID 无效。
有没有办法通过 Apps 脚本或其他配置在我的输出表中生成指向每个单独响应的链接?
【问题讨论】:
-
“我不想使用编辑链接来查看我的回复。”这大概排除了Show URL used to edit responses from a Google Form in a Google Spreadsheet by using a script。但我不清楚你想要什么。请详细说明一下。
-
@Tedinoz 我想从我的工作表中获得一个超链接,它将您带到该特定响应的仅查看页面。查看表单时,您可以单击“响应 -> 个人”,它会显示表单的渲染视图,其中包含单个响应的内容。您可以浏览回复/选择一个特定的回复,它会向您显示那个回复。每个响应都有一个唯一的 URL,所以我希望有一种方法可以恢复该 URL 并将其用作链接。
-
@Tanaike 我仍然相信这是迄今为止最好的选择。需要明确的是,无论我评论的是 OP 的观点,而不是我的观点。
-
@TheMaster 感谢您的支持。我想修改接近 OP 目标的提案。当我这样做时,我想提出它。感谢您一直以来的支持。
-
@Tanaike 我仍然不完全明白您想澄清哪一部分,但我已尽力改善问题。如果还不清楚,请告诉我。
标签: google-apps-script google-sheets google-forms