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

Google Apps Script对接Trello API OAuth1出现Invalid Signature错误求助

Trello GAS OAuth1 无效签名错误解决方案
  • 修正授权URL与scope配置
    你当前将scope=read,write直接拼接在authorizationUrl末尾是错误的,OAuth1签名计算会自动包含所有请求参数,手动拼接会导致签名校验失败。需要删除URL后的scope参数,使用库的setScope()方法单独配置权限。
  • 修改参数传递位置
    将paramLocation_从auth-header改为query-string,Trello OAuth1接口对请求头的OAuth参数兼容性较差,使用查询字符串传递参数可避免签名校验错误。
  • 修正请求方法配置
    删除method_=get的配置,获取请求令牌、访问令牌的接口默认使用POST方法,手动指定GET方法会导致签名计算时的HTTP方法与实际请求不一致,触发签名错误。
  • 移除手动填写的scriptId配置
    OAuth1库会自动获取当前脚本的ID生成回调地址,手动填写错误的scriptId会导致回调地址与Trello开发者后台配置的地址不匹配,触发签名错误。

正确的服务配置参考代码:

function getTrelloService() {
  return OAuth1.createService('trello')
    .setConsumerKey('你的Consumer Key')
    .setConsumerSecret('你的Consumer Secret')
    .setRequestTokenUrl('https://trello.com/1/OAuthGetRequestToken')
    .setAccessTokenUrl('https://trello.com/1/OAuthGetAccessToken')
    .setAuthorizationUrl('https://trello.com/1/OAuthAuthorizeToken')
    .setScope('read,write')
    .setCallbackFunction('authCallback_Trello')
    .setPropertyStore(PropertiesService.getScriptProperties())
    .setSignatureMethod('HMAC-SHA1')
    .setOAuthVersion('1.0a')
    .setParamLocation('query-string');
}
  • 清理历史失效凭据
    首次运行新配置前,先执行以下代码清理之前存储的错误凭据,避免缓存的无效数据影响认证:
function resetTrelloAuth() {
  getTrelloService().reset();
}
  • 附件下载注意事项
    完成认证后,下载附件时必须使用getTrelloService().fetch(附件URL)发起请求,不要直接调用UrlFetchApp.fetch,否则不会自动携带OAuth1参数,导致下载失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:48:04