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

新Google Sites中使用google.script.url传递URL查询字符串报错求助

解决新版Google Sites中google.script.url未定义的问题

这个问题我之前帮不少开发者排查过,核心原因是新版Google Sites不支持直接在页面中写入自定义客户端JavaScript,而且google.script.url这个API只能在Google Apps Script的专属运行环境中使用——它不会自动加载在Sites的原生页面里。下面是具体的解决步骤:

1. 创建Google Apps Script项目

打开Google Apps Script编辑器,新建一个空白项目。我们需要通过它来创建一个可嵌入到Sites的Web App,这样才能获得google.script.url的运行环境。

2. 编写客户端+服务器端代码

首先,在编辑器中添加一个HTML文件(点击左侧“文件”→“新建”→“HTML文件”,命名为Index.html),写入以下代码:

<!DOCTYPE html>
<html>
  <body>
    <h3>URL查询参数展示</h3>
    <div>当前参数:<span id="paramsDisplay"></span></div>

    <script>
      // 这里可以安全调用google.script.url
      google.script.url.getLocation(function(location) {
        console.log("完整位置信息:", location);
        // 将查询参数渲染到页面上
        document.getElementById("paramsDisplay").textContent = JSON.stringify(location.parameter);
      });
    </script>
  </body>
</html>

然后回到Code.gs文件,添加服务器端的doGet函数,用于返回这个HTML页面(也可以在这里处理服务器端的参数逻辑):

function doGet(e) {
  // 可选:在服务器端获取URL查询参数
  console.log("服务器端收到的参数:", e.parameter);
  return HtmlService.createHtmlOutputFromFile('Index');
}

3. 部署为Web App

点击编辑器右上角的“部署”→“新部署”:

  • 部署类型选择“Web应用”
  • 执行权限:根据你的需求选择(比如选“任何人,甚至匿名”允许所有访问者使用)
  • 访问权限:对应设置访问范围
  • 点击“部署”,复制生成的Web App URL

4. 嵌入到新版Google Sites

打开你的Google Sites页面,进入编辑模式:

  • 点击顶部“插入”→“嵌入”→“嵌入网址”
  • 粘贴刚才复制的Web App URL,点击“插入”

现在当你访问Sites页面时,嵌入的Web App会自动加载google.script.url所需的脚本,你的代码就能正常获取URL查询参数了。

额外注意事项

  • 每次修改Apps Script代码后,需要重新部署为新版本,否则Sites中的嵌入内容不会更新
  • 如果你想在Sites原生页面间传递参数,目前只能通过这种嵌入Web App的方式实现,因为新版Sites不支持原生客户端脚本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:21:42