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

如何在Zendesk封闭环境下从非谷歌网站调用Google Apps Script

在Zendesk环境中调用Google Apps Script操作Google Sheet的解决方案

核心思路

通过将Google Apps Script部署为Web应用,让Zendesk前端可以通过HTTP请求触发脚本逻辑,最终跳转至目标表格。


步骤1:部署Apps Script为Web应用

  • 打开你的Apps Script项目,点击右上角「部署」→「新部署」
  • 类型选择「Web应用」
  • 执行权限设置:根据需求选择「任何人,甚至匿名」(若需安全验证,后续可添加密钥校验)
  • 点击「部署」,复制生成的Web应用URL(后续会用到)

步骤2:在Zendesk中添加触发交互

利用Zendesk的自定义HTML组件或Zendesk Apps Framework(ZAF)添加触发按钮/表单,示例前端代码如下:

// 假设你在Zendesk页面嵌入了一个ID为"open-target-sheet"的按钮
document.getElementById('open-target-sheet').addEventListener('click', () => {
  const targetData = '需要传递的特定数据'; // 替换为实际业务数据
  const webAppUrl = '你的Web应用部署URL';
  // 携带参数跳转至Web应用,由脚本处理后重定向到表格
  window.open(`${webAppUrl}?data=${encodeURIComponent(targetData)}`, '_blank');
});

步骤3:修改Apps Script接收参数并处理

将你的现有函数适配为doGet(或doPost)函数,接收请求参数并返回表格跳转逻辑:

function doGet(e) {
  // 获取前端传递的特定数据
  const specificData = e.parameter.data;
  
  // 调用你已实现的函数,生成目标表格的URL
  const targetSheetUrl = yourExistingFunction(specificData);
  
  // 直接重定向到目标表格
  return HtmlService.createHtmlOutput(`<script>window.location.href="${targetSheetUrl}";</script>`);
}

步骤4:安全加固(可选)

如果担心匿名访问的安全问题,可添加密钥校验:

function doGet(e) {
  const validKey = '你预设的安全密钥';
  // 校验请求携带的密钥
  if (e.parameter.key !== validKey) {
    return ContentService.createTextOutput('Unauthorized').setStatusCode(401);
  }
  
  // 后续处理逻辑同步骤3
  const specificData = e.parameter.data;
  const targetSheetUrl = yourExistingFunction(specificData);
  return HtmlService.createHtmlOutput(`<script>window.location.href="${targetSheetUrl}";</script>`);
}

此时前端请求需要携带密钥参数:${webAppUrl}?data=${encodeURIComponent(targetData)}&key=你的密钥


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 23:25:22