开发 能力接入指南 获取手机号
# 获取手机号
更新时间:2024-09-26 16:01:05
获取快手用户绑定的手机号,需先调用 ks.login 接口。
因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 button 组件的点击来触发。
注意:目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体)。需谨慎使用,若用户举报较多或被发现在不必要场景下使用,快手有权永久回收该小程序的该接口权限。
# 开通权限
# 申请开通条件
- 小程序内使用获取用户手机号的场景,需满足平台要求
- 小程序开发者需用当前小程序真实的内容进行提交
- 若开通后,开发者在使用过程中滥用此能力对用户或平台造成负面影响,平台有权利随时收回该授权功能,并视情况对违规小程序进行处罚
# 申请开通入口
进入小程序开发平台,在 权限管理-获取用户手机号 (opens new window) 处进行申请。
# 提交申请信息
小程序开发者须提供以下信息方可进行开通申请:
- 申请原因
- 使用场景及相关描述
- 场景示例图
# 审核周期及通知
小程序开发者提交申请后,将在1-7个工作日内收到审核结果的邮件。
# 使用方法
需要将 button 组件 open-type
的值设置为 getPhoneNumber
,当用户点击并同意之后,可以通过 bindgetphonenumber
事件回调获取到快手服务器返回的加密数据, 然后在第三方服务端结合 session_key
以及 app_id
进行解密获取手机号。
# 注意
在回调中调用 ks.login 登录,可能会刷新登录态。此时服务器使用 code
换取的 session_key
不是加密时使用的 session_key
,导致解密失败。建议开发者提前进行 login
;或者在回调中先使用 checkSession
进行登录态检查,避免login
刷新登录态。
# 代码示例
Page({
getPhoneNumber (e) {
console.log(e.detail.errMsg)
console.log(e.detail.iv)
console.log(e.detail.encryptedData)
}
});
# 返回参数说明
参数 | 类型 | 说明 |
---|---|---|
encryptedData | String | 包括敏感数据在内的完整用户信息的加密数据 |
iv | String | 加密算法的初始向量 |
获取得到的开放数据为以下 json 结构:
{
"phoneNumber": "13580006666",
"countryCode": "86",
}
参数 | 类型 | 说明 |
---|---|---|
phoneNumber | String | 用户绑定的手机号(国外手机号会有区号) |
countryCode | String | 区号 |
上一篇:《流量主接入能力》
下一篇:《小程序跳转服务号》
仍有疑问? 前往社区提问