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

建立Xero连接后如何在Node.js环境中获取用户邮箱与手机号?

Xero用户邮箱及手机号获取实现方案(Node.js)

首先明确:Xero返回的OAuth2.0 token本身不内置用户身份信息,需要额外请求身份接口,你需要先确认申请授权时的scope已经包含以下三个必填项:openid、email、profile,缺少对应scope将无法拿到目标字段。

方案1:使用官方xero-node SDK(推荐)

  • 第一步:安装SDK
    npm install xero-node

  • 第二步:授权完成后调用身份接口,代码示例:

const { XeroClient } = require('xero-node');

// 初始化Xero客户端
const xero = new XeroClient({
  clientId: '你的Xero应用clientId',
  clientSecret: '你的Xero应用clientSecret',
  redirectUris: ['你的应用回调地址'],
  scopes: 'openid email profile offline_access 其他你需要的业务scope',
});

// 你原有逻辑中已经完成授权拿到tokenSet后
const tokenSet = await xero.apiCallback(回调地址的完整query参数);
// 提取用户身份信息
const userInfo = xero.getIdentityTokenClaims(tokenSet.id_token);

// 直接获取目标字段
const userEmail = userInfo.email;
const userPhone = userInfo.phone_number;

方案2:手动调用接口(无SDK场景)

如果你的项目没有引入官方SDK,可以直接请求Xero的userinfo端点:

  • 请求方式:GET
  • 请求地址:https://identity.xero.com/connect/userinfo
  • 请求头:Authorization: Bearer <你拿到的access_token>
  • 成功响应后直接从返回体中提取email和phone_number字段即可

注意事项

  • 手机号字段仅在用户的Xero账号中填写过手机号时才会返回,无值时为undefined,需要做兼容处理
  • 接口返回的邮箱是用户Xero账号绑定的已验证主邮箱,可直接用于注册流程的身份校验

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:36:07