小程序开放平台

文档中心
起步
目录
配置小程序
小程序框架
小程序运行时
自定义组件
基础能力
开放能力
授权
小程序登录
开放数据校验与解密
获取手机号
客服消息
分享
转发
关注
专业号主页自定义商品排序
场景值
获取 POI 来源
性能优化
转发
事件回调
基础库
调试
数据分析
服务端调试

获取手机号

开发
>
指南
>
开放能力
>
获取手机号
>
更新时间:2024-11-28 14:45:19

获取小红书用户绑定的手机号,需先调用 xhs.login 接口,如未调用,获取手机号会失败。

因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 button 组件的点击来触发。

使用方法

需要将 button 组件

open-type
的值设置为
getPhoneNumber
,当用户点击并同意之后,可以通过
bindgetphonenumber
事件回调获取到小红书服务器返回的加密数据, 然后在第三方服务端结合 session_key 以及 appid 进行解密获取手机号。

注意事项

在回调中调用 xhs.login 登录,可能会刷新登录态。此时服务器使用

code
换取的
session_key
不是加密时使用的
session_key
,导致解密失败。建议开发者提前进行
login
或者在回调中先使用
checkSession
进行登录态检查,避免
login
刷新登录态。

代码示例

返回参数说明

参数
类型
说明
encryptedDataString包括敏感数据在内的完整用户信息的加密数据,详细见加密数据解密算法
ivString加密算法的初始向量,详细见加密数据解密算法

获取得到的开放数据为以下 json 结构:

{
    "phoneNumber": "13580006666",
    "purePhoneNumber": "13580006666",
    "countryCode": "86",
    "watermark":
    {
        "appId":"APPID",
        "timestamp": TIMESTAMP
    }
}
参数
类型
说明
phoneNumberString用户绑定的手机号(国外手机号会有区号)
purePhoneNumberString没有区号的手机号
countryCodeString区号