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

Xero API同用户返回不同UUID 如何通过xero_userid查询对应用户

两类ID存在差异的核心原因

两个ID属于完全不同的标识体系,本身就不是同一个字段:

  • OAuth2授权返回的xero_userid是Xero平台级的全局用户ID,和具体的Xero组织(租户)无关,同一个用户不管加入多少个Xero企业组织,这个ID始终固定不变。
  • Users API返回的用户ID是组织内成员ID,是用户被邀请加入某个具体Xero组织时,在该组织下生成的专属标识。同一个用户加入不同的Xero组织,会生成完全不同的组织内成员ID,这也是你直接拿全局xero_userid调用单用户查询接口返回404的直接原因——接口根本不识别全局ID作为路径查询参数。
匹配对应组织内用户的操作方法

Xero目前没有提供直接通过全局xero_userid查询单用户的接口,按以下步骤操作即可完成匹配:

  1. OAuth2授权流程走完拿到token后,先调用连接关系接口,获取当前授权token可访问的所有Xero组织ID列表,确定你要操作的目标组织的tenantId。
  2. 调用Users API的用户列表接口(不要在路径里拼接单用户ID),请求头中携带上一步拿到的目标tenantId,拉取该组织下的全部用户数据。
  3. 遍历返回的用户列表,找到对象中XeroUserId字段值和OAuth2返回的xero_userid完全一致的记录,这条就是你要找的对应用户,记录里的UserID字段就是该用户在这个组织下的成员ID,后续所有针对该用户的组织内接口调用,都使用这个UserID即可。

避坑提示:如果你的应用需要支持用户切换多个Xero组织,每个组织下都要重新做一次上述匹配流程,不要缓存全局ID和某一个组织内成员ID的映射关系跨组织使用。

内容的提问来源于stack exchange,提问作者Ben Hull

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.13 16:15:54