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

通过Google Apps Script将Trello Webhook接入Google Sheet时遇302错误

解决Trello Webhook连接Google Apps Script Web App返回302的问题

核心原因

Trello创建Webhook时会先发送验证请求到回调URL,要求URL返回200状态码;如果你的Web App存在权限设置问题、未正确处理验证请求,或者部署URL异常,就会触发302重定向,导致验证失败。

解决方案

1. 重新检查Web App部署配置

  • 打开Google Apps Script编辑器,点击右上角「部署」→「管理部署」
  • 点击现有部署的「编辑」按钮:
    • 执行权限:必须设为**「任何人,甚至匿名」**(Trello的请求是匿名的,权限不足会触发重定向)
    • 部署类型:选择「Web应用」
    • 保存后生成新的部署URL,替换代码中的webAppUrl(旧URL可能因权限变更失效)

2. 确保Web App正确处理Trello的验证请求

Trello创建Webhook时会发送GET请求,携带callback参数,你的Web App必须返回该参数的值才能通过验证。添加以下代码:

// 处理Trello的GET验证请求
function doGet(e) {
  if (e.parameter.callback) {
    // 返回Trello要求的验证值
    return ContentService.createTextOutput(e.parameter.callback)
      .setMimeType(ContentService.MimeType.TEXT);
  }
  // 正常访问返回OK
  return ContentService.createTextOutput("OK").setMimeType(ContentService.MimeType.TEXT);
}

// 处理Trello发送的Webhook事件(POST请求)
function doPost(e) {
  // 解析Trello发送的事件数据
  const eventData = JSON.parse(e.postData.contents);
  // 在这里编写将数据写入Google Sheet的逻辑
  // 示例:打开指定表格并写入数据
  const sheet = SpreadsheetApp.openById(spreadSheetId).getActiveSheet();
  sheet.appendRow([new Date(), JSON.stringify(eventData)]);
  
  // 必须返回200状态码的响应
  return ContentService.createTextOutput("OK").setMimeType(ContentService.MimeType.TEXT);
}

3. 修改Webhook创建请求的参数格式

原代码用JSON格式发送payload,Trello API对form-urlencoded格式的兼容性更好,修改setWebhookTrello函数:

function setWebhookTrello() {
  let data = {
    'key': trelloKey,
    'token': trelloToken,
    'callbackURL': webAppUrl,
    'idModel': trelloBoard,
    'description': 'Trello→Google Sheet集成Webhook' // 可选,用于标识Webhook
  };

  const params = {
    'method': 'POST',
    'payload': data // 直接传对象,Google会自动转换为form-urlencoded格式
  };
  UrlFetchApp.fetch('https://api.trello.com/1/webhooks', params);
}

4. 验证Web App的响应状态

  • 直接在浏览器中访问你的Web App URL,确认返回的是「OK」且状态栏码为200
  • 如果仍有重定向,检查部署时是否勾选了「允许任何人访问」,确保没有权限拦截

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 21:17:37