Xero API集成求助:如何通过Postman获取Demo公司的Tenant Id?
解决Xero API /connections接口403错误及获取Tenant ID的方法
核心排查点
- 检查Token权限范围:确保获取Auth Code时请求的
scope包含offline_access以及accounting.contacts/accounting.transactions这类发票相关权限。API Explorer会自动携带全量权限,但Postman手动配置时容易遗漏。 - 验证Token有效性:用
jwt.io解析你的Bearer Token,确认aud字段为Xero API地址、exp未过期,且scp字段包含所需权限。 - 核对请求头格式:Postman中Authorization头必须严格为
Bearer {你的token},无多余空格或符号,同时需携带Content-Type: application/json头。 - 确认Demo公司关联状态:登录Xero开发者门户,检查你的应用是否已绑定到Demo公司——部分场景下创建Demo公司后需手动在应用的「Connected Apps」中完成关联。
- 排查Postman环境变量:若使用环境变量存储Token,确认变量未被误加引号或特殊字符,可直接粘贴原始Token进行测试。
正确获取Tenant ID的步骤
- 通过Auth Code换取Access Token和Refresh Token:Postman中选择OAuth2.0的「Authorization Code」类型,准确填写Client ID、Secret,回调地址需与开发者门户配置一致。
- 调用
GET https://api.xero.com/connections,请求头仅携带Authorization: Bearer {access_token}。 - 返回的JSON数组中,
tenantId字段即为目标ID。
常见403触发原因
- 权限范围不足:仅请求
openid等基础权限,未添加会计类核心权限 - Token已失效:Access Token有效期为30分钟,过期需用Refresh Token刷新
- 应用未关联Demo公司:开发者门户内的应用未与目标Demo公司建立连接
内容的提问来源于stack exchange,提问作者Amrapali
相关产品推荐
相关产品推荐

