
前言:
相关专用术语:商户、ISV、小程序应用、三方应用、小程序模板、PID、APPID、app_auth_token、AES,参考专用术语解释。
在三方场景下获取用户手机号经常遇到这样困惑:自研小程序获取手机号需要配置AES秘钥、接口加签、应用网关、申请手机号敏感信息,但是三方应用下如何代商户设置这些呢,总不能让商户去设置吧。其实在三方应用场景下并不需要商户或者代商户配置接口加签方式和应用网关,只需要帮商户申请手机号敏感信息和设置AES秘钥就可以了(当然这些都不需要商户来配置)。
回顾:因为三方场景下代商户获取手机号在自研小程序基础上进行的,我们先回顾下自研小程序如何获取用户手机号的。
创建小程序并设置接口加签方式设置AES秘钥和应用网关挂载获取会员手机号功能包并进行用户信息申请小程序前端使用button按钮唤起用户手机号授权服务端进行解密获取用户手机号 三方场景获取用户手机号:1、在开发小程序模板时,集成获取用户手机号功能,由于小程序模板后台不能配置AES秘钥,所以需要只能通过接口的方式设置;商户小程序也建议使用接口方式配置AES秘钥,具体参考下方 : 5 .获取商户小程序/小程序模板AES秘钥 。
2、本流程对商家/小程序模板都适用。
3、小程序模板和商家小程序一样,都可以授权给三方应用,实现三方应用带调用,详见【小程序模板授权】。
下面介绍三方场景下小程序模板和商户小程序获取手机号流程:
创建三方应用并配置接口加签方式、AES秘钥、挂载获取用户手机号功能包创建小程序模板(三方授权模式忽略此步骤)商户小程序和小程序模板授权给三方应用(此外商户小程序除使用授权链接授权外,三方模板模式还可以使用订购服务进行授权)代商户小程序/小程序模板进行用户信息申请获取商户小程序/小程序模板AES秘钥商户小程序/小程序模板上使用button唤起用户手机号授权 注: 三方模式下my.getPhoneNumber必须传入protocols-isvAppId参数 前端必须在用户点击button进行授权后的onGetAuthorize回调中进行调用my.getPhoneNumber否则会报无效的授权关系 <button open-type="getAuthorize" onGetAuthorize="onGetAuthorize" onError="onAuthError" scope='phoneNumber'> 授权手机号n</button> onGetAuthorize: (res) =>{n my.getPhoneNumber({ protocols:{// 小程序模板/商户小程序所属的三方应用appId isvAppId: '2017122xxxxxxxxxxx'n },success: (res) =>{ let encryptedData = res.response //使用my.request传递密文到服务器端 my.request({ url: '你的后端服务端',//发送给服务端,让服务端对加密数据进行解密 data: encryptedData, }) console.log("getPhoneNumber_success",res)},fail: (res) =>{ console.log(res)console.log('getPhoneNumber_fail') },n })nn },服务端接收小程序端密文进行解密 获取用户手机号常见问题:my.getPhoneNumber 解密的时候报“无效的授权关系”小程序使用 my.getPhoneNumber 解密后返回的手机号没有带国籍码如+86,有海外手机号时该怎么区分?小程序可以同时获取手机号和会员基础信息吗调用 my.getPhoneNumber,报错“ISV权限不足”管理员。管理员也就是小程序的 *** 控者,如果小程序有什么问题的话都需要管理员进入查看问题并解决。
腾讯微信(faq)是一种相当快速的短邮,具有零资费、跨平台沟通、显示实时输入状态等功能,与传统的短信沟通方式相比,更灵活、智能,且节省资费。
服务器问题。后台内存溢出报错了。类似高并发的场景都有可能出现这种情况,错开高峰期,等一段时间再刷新试试。估计是服务器的问题,建议等等再试
腾讯微信(faq)是一种更快速的短邮,具有跨平台沟通、显示实时输入状态等功能,与传统的短信沟通方式相比,更灵活、智能,且节省资费。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)