You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Apps Script中获取Google Forms当前提交响应的URL

实现方案

核心原理

Google Forms 没有内置直接返回单个响应链接的API,可通过固定规则拼接得到编辑者可访问的响应定位链接:
链接结构为 [表单编辑链接]/edit#response=[响应唯一ID]

修改后的完整代码

function onSubmit(e) {
    var form = FormApp.getActiveForm();
    // 优先从触发事件对象拿当前提交的响应,避免高并发场景下取错
    var latestResponse = e.response || form.getResponses()[form.getResponses().length - 1];
    // 拼接响应链接
    var formBaseUrl = form.getEditUrl().replace(/\/edit$/, '');
    var responseLink = `${formBaseUrl}/edit#response=${latestResponse.getId()}`;
    
    var response = latestResponse.getItemResponses();
    var answerarray = [];
    var questionarray = [];

    for (var i = 0; i < response.length; i++) {
        var question = response[i].getItem().getTitle();
        var answer = response[i].getResponse();
        try {
            var parts = answer.match(/[\s\S]{1,1024}/g) || [];
        } catch (e) {
            var parts = answer;
        }

        if (answer == "") {
            continue;
        }
        for (var j = 0; j < parts.length; j++) {
            answerarray.push(parts[j]);
            questionarray.push(question);
        }
    }
    // 后续可以把responseLink放到推送给Discord的内容里使用
}

注意事项

  • 拼接得到的responseLink仅表单的协作者/编辑者可以访问,点击后会直接跳转定位到对应提交的响应详情页
  • 优先使用e.response获取当前提交的响应,比遍历所有响应取最后一个的方案更稳定,可避免多人同时提交时出现响应匹配错误的问题
  • 如果需要普通用户可访问的响应公开链接,目前Google Forms没有提供官方的生成路径

内容的提问来源于stack exchange,提问作者moladori

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 17:06:04