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

使用XERO API时Google Script出现Invalid Redirect URI认证错误

解决Google Script调用Xero API时的Invalid Redirect URI错误

以下是针对你遇到的问题的排查和解决步骤:

1. 修正重定向URI格式

你的脚本中REDIRECT_URI添加了/usercallback后缀,这是错误的。Google Apps Script的Web应用回调URL仅需使用部署生成的基础exec地址,无需额外后缀。

修改代码中的REDIRECT_URI:

const REDIRECT_URI = 'https://script.google.com/macros/s/xxxxxxxxxxx/exec'; // 移除末尾的/usercallback

同时在Xero应用的重定向URI设置中,更新为相同的地址,确保完全一致(包括大小写、无额外空格或隐藏字符)。

2. 检查Google Script部署设置

确保你的脚本已正确部署为Web应用:

  • 打开脚本编辑器,点击右上角「部署」>「新建部署」
  • 类型选择「Web应用」
  • 执行方式选择「我(你的邮箱)」
  • 访问权限设置为「任何人,甚至匿名」(Xero的回调请求需要能访问该地址)
  • 点击「部署」,复制生成的URL作为新的REDIRECT_URI

3. 验证授权URL的实际参数

运行authorize函数后,查看Logger中的authorizationUrl,解码后检查其中的redirect_uri参数是否与Xero应用中配置的完全一致。若存在编码差异或额外字符,需修正脚本中的REDIRECT_URI。

4. 确认Xero应用设置生效

修改Xero应用的重定向URI后,务必点击「保存」按钮确保设置生效。部分情况下,Xero需要几分钟时间同步新的配置。

5. 检查OAuth2库版本

确保你使用的是最新版本的Google Apps Script OAuth2库:

  • 在脚本编辑器中,点击「资源」>「库」
  • 确认库ID为1B7FSrk5Zi6L1rSxxTDgDEUsPzlukDsi4KGuTMorsTQHhGBzBkMun4iDF
  • 将版本选择为最新的稳定版(而非「开发版」)

额外提示

  • 若你使用的是Xero私有应用,需注意私有应用的授权流程与公开应用不同,需使用API密钥而非OAuth2授权码流程。
  • 确保脚本中的CLIENT_ID和CLIENT_SECRET无拼写错误,尤其是大小写和特殊字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 12:31:04