微信小程序获取绑定授权用户手机号getPhoneNumber-全流程及手机号带*号问题

微信小程序获取微信绑定授权手机号getPhoneNumber全流程及出现手机号带*号问题详解

 

微信小程序文档中给出如下示例

获取微信用户绑定的手机号,需先调用login接口。

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

注意:目前该接口针对非个人开发者,且完成了认证的小程序开放。需谨慎使用,若用户举报较多或被发现在不必要场景下使用,微信有权永久回收该小程序的该接口权限。

使用方法

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

注意

在回调中调用wx.login登录,可能会刷新登录态。此时服务器使用code换取的sessionKey不是加密时使用的sessionKey,导致解密失败。建议开发者提前进行login;或者在回调中先使用checkSession进行登录态检查,避免login刷新登录态。

例子

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"> </button>
Page({ getPhoneNumber: function(e) { console.log(e.detail.errMsg) console.log(e.detail.iv) console.log(e.detail.encryptedData) } 
})

返回参数说明

参数类型说明最低版本
encryptedDataString包括敏感数据在内的完整用户信息的加密数据,详细见加密数据解密算法 
ivString加密算法的初始向量,详细见加密数据解密算法 
cloudIDString敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见云调用直接获取开放数据2.8.0

敏感数据有两种获取方式,一是使用 加密数据解密算法 将 encryptedData 在开发者后台解密,二是使用云调用直接通过 cloudID 获取开放数据。

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

{"phoneNumber": "13580006666",  "purePhoneNumber": "13580006666", "countryCode": "86","watermark":{"appid":"APPID","timestamp":TIMESTAMP}
}

 

但是到这里你会发现其实根本不详尽尤其是解密和错误代码方面

 

首先如手册所述,解析加密数据包不太明白我给大家贴个示例

getPhoneNumber: function (e) {console.log(e.detail.iv);console.log(e.detail.encryptedData);wx.login({success: res => {console.log(res.code);wx.request({url: 'https://你的解密地址',data: {'encryptedData': encodeURIComponent(e.detail.encryptedData),'iv': e.detail.iv,'code': res.code},method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECTheader: {'content-type':'application/json'}, // 设置请求的 headersuccess: function (res) {if (res.status ==1) {//我后台设置的返回值为1是正确//存入缓存即可wx.setStorageSync('phone', res.phone);}},fail: function (err) {console.log(err);}})}})}

 

后台解析代码就是利用传过去的三个值,来进行解析每个语言解析方式不同请下载样例

微信官方提供了多种编程语言的示例代码(点击下载)。每种语言类型的接口名字均一致。调用方式可以参照示例。

 

注意解析方式跟解析用户信息是一个解析方式!!!!

 

在这里小编遇到了一个问题解析回的形式虽然跟文档相同但是!

却是这个样子的数据:

 

这样的情况其实是因为开发的基础库版库过低造成的

配置地点在这里:

 

小编修改为v1.9.1之后呈现形式就如同官网手册 一样了

 

{"phoneNumber": "13580006666",  "purePhoneNumber": "13580006666", "countryCode": "86","watermark":{"appid":"APPID","timestamp":TIMESTAMP}
}

至此获取微信绑定的用户手机号完成!

 

还有一点要注意你的开发版本上去了,但是用户不一定更新了

所以微信后台有这样一个配置~

 

由于发文时间较远,我只进行了死链接的替换。小程序早就出了提示用户版本更新的代码,有需要的小伙伴可以去手册查阅。

地址:https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html

剩下的问题欢迎在下面评论,第一次写博客希望对大家有帮助!!!

 

我在网上已经看到几篇转载的,个人之作转载请注明出处!

csdn博客-大国的博客

原文地址:https://blog.csdn.net/weixin_41818665/article/details/79509792

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/10692.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信登录与绑定方案

登录方案一&#xff08;与绑定方案一致&#xff09; 微信登录方案二 方案一&#xff1a; 优点&#xff1a;方便测试&#xff0c;与绑定流程基本一致&#xff0c;开发成本低&#xff0c;风险低 缺点&#xff1a;未关注的用户需点击关注后方可知道是否登录成功 方案二&#xff1a…

Android第三方绑定微信登录详解

微信登录官方文档地址&#xff1a;点击进入 一、准备工作 在进行微信登录之前&#xff0c;首先要在微信开放平台注册开发者账号&#xff0c;并拥有一个已审核通过的移动应用&#xff0c;并获得相应的AppID和AppSecret&#xff0c;申请微信登录且通过审核后&#xff0c;可开始接…

互联网新时代要来了(二)什么是AIGC?

什么是AIGC&#xff1f; 最近&#xff0c;又火了一个词“**AIGC”**2022年被称为是AIGC元年。那么我们敬请期待&#xff0c;AIGC为我们迎接人工智能的下一个时代。 TIPS:内容来自百度百科、知乎、腾讯、《AIGC白皮书》等网页 什么是AIGC&#xff1f; 1.什么是AIGC&#xff1f…

浏览器增强版ChatGPT无敌了?超强插件Monica,能聊能写效率Max

【导读】Chrome最强插件Monica来了&#xff01;网页版ChatGPT&#xff0c;解决一切工作问题。 提起Monica&#xff0c;你会想到什么&#xff1f; 是老友记里的主角之一MonicaGeller&#xff0c;一个热心肠的女主人形象&#xff1b;还是心跳文学部里的疯疯癫癫的Monika&#…

ChatGPT插件大爆炸 所有人都可以使用OpenAI插件的时代来了

OpenAI放出大招&#xff0c;本周将向所有ChatGPT Plus用户开放联网功能和众多插件&#xff0c;允许ChatGPT访问互联网并使用70个第三方插件。 根据华尔街见闻的梳理&#xff0c;本批第三方插件能够全方位覆盖衣食住行、社交、工作以及学习等日常所需&#xff0c;基本上能够扮演…

ChatGPT插件系统正式开放,不用写代码,人人都是程序员

整理 | 褚杏娟、核子可乐、凌敏 当地时间 3 月 23 日&#xff0c;OpenAI 宣布正式上线了以安全为核心的 ChatGPT 插件系统。OpenAI 插件将 ChatGPT 连接到第三方应用程序&#xff0c;之后 ChatGPT 便能够与开发人员定义的 API 进行交互&#xff0c;从而增强 ChatGPT 的功能并允…

ChatGPT竟有9岁小孩心智?斯坦福教授逆天发现,AI统治人类还远吗

【导读】一位斯坦福教授在上周发布的论文中证实&#xff0c;ChatGPT已经有9岁小孩的心智了。所以&#xff0c;AI离发展出自我意识还远吗&#xff1f;人类的霸主地位危了&#xff1f; ChatGPT已经有9岁小孩的心智了&#xff01; 这不是什么科幻情节&#xff0c;这一点&#xf…

你以为ChatGPT真的听懂了你的话吗?

1/6、多年以后…… 多年以后&#xff0c;面对长长的领失业救济金队伍&#xff0c;人们将会回想起2022年12月&#xff0c;不是因为大感染&#xff0c;而是初次体验ChatGPT。那时&#xff0c;人们感受到的&#xff0c;还不是旧世界的行将崩塌&#xff0c;而是对新世界到来的惊叹。…

Python量化交易09——使用证券宝获取金融行情数据(baostock)

接上一篇文章介绍怎么用Tushare获取日k数据后&#xff0c;本章教大家怎么用证券宝获取数据. baostock 的官网链接&#xff1a;A股K线数据 - www.baostock.com 这是免费的一个库&#xff0c;数据种类也很很丰富&#xff0c;挺好用的。 日K 导入包&#xff1a; import baost…

HFTrader高频交易系统架构

HFTrader高频交易系统架构 一、开发环境搭建 HFTrader高频交易系统作为QuantFabric量化交易系统的一部分&#xff0c;开发环境搭建与开源QuantFabric量化交易系统相同。 二、HFTrader高频交易系统架构 1、HFTrader功能特性 HFTrader期货功能特性如下&#xff1a; 期货行情…

ChatGPT热潮背后,金融行业大模型应用路在何方?——金融行业大模型应用探索

ChatGPT近两个月以来不断引爆热点&#xff0c;对人工智能应用发展的热潮前所未有地高涨&#xff0c;ChatGPT所代表的大模型在语义理解、多轮交互、内容生成中所展现的突出能力令人惊喜。而人工智能技术在金融行业的落地应用仍然面临挑战&#xff0c;虽然已经让大量宝贵的人力从…

Microsoft Edge Dev版本如何使用chat功能

1.开启全局代理 2.访问https://www.bing.com 如何这个时候你访问的页面是长这个样子 那么你需要设置一下地域 我选择美国&#xff0c;点击之后跳转到了https://www.bing.com/?ccus访问地址https://www.bing.com/new 选择加入候补名单 点击加入候补名单 我的申请已经提交了&a…

盘点超三十款国产类ChatGPT大语言模型,你最期待哪个?

目前已经出现的国产ChatGPT有最先发布的百度文心一言&#xff0c;接着是阿里发布的通义千问&#xff0c;商汤发布的商量&#xff0c;以及最近开放测试的科大讯飞星火认知大模型、360 GPT 大模型产品矩阵“360 智脑”&#xff0c;昆仑天工3.5&#xff0c;知乎知海图Ai、实在TARS…

Stanford Alpaca (羊驼):ChatGPT 学术版开源实现

Stanford Alpaca (羊驼)&#xff1a;ChatGPT 学术版开源实现 文章目录 Stanford Alpaca (羊驼)&#xff1a;ChatGPT 学术版开源实现前言介绍Alpaca 在线体验查语病写代码连续对话能力 原理简要分析一些有意思的观察总结 前言介绍 最近 ChatGPT 大热&#xff0c;让人惊叹其强大…

火爆全网的 ChatGPT 虽然好玩,但是也有几件事是需要当心的 - 弘扬正能量

大家好&#xff0c;我是 哈士奇 &#xff0c;一位工作了十年的"技术混子"&#xff0c; 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 &#x1f4ac; 人生格言&#xff1a;优于别人,并不高贵,真正的高贵应该是优于过去的自己。&#x1f4ac; &#x1f4…

最近很火的ChatGPT和GPT4

ChatGPT&#xff08;全名&#xff1a;Chat Generative Pre-trained Transformer&#xff09;&#xff0c;美国OpenAI研发的聊天机器人程序&#xff0c;于2022年11月30日发布。ChatGPT是人工智能技术驱动的自然语言处理工具&#xff0c;它能够通过理解和学习人类的语言来进行对话…

登录次数限制实例

业务逻辑 1、根据用户名从数据库中取出一行数据&#xff0c;并根据数据库服务器时间&#xff0c;算出上次限制登录的时间和当前时间的时间间隔。 2、判断此用户时间间隔过了15分钟没有。如果没有&#xff0c;则给出禁止登录的提示&#xff1b;如果超过15分钟&#xff0c;则判…

ChatGPT爆火| 微软ATP推出教师AI素养提升秘籍

最近全球爆火的ChatGPT,让我们领略AI技术的迅猛发展&#xff0c;尤其在自然语言处理&#xff08;NLP&#xff09;、机器学习&#xff08;ML&#xff09;等方向与教育的结合日趋紧密&#xff0c;人工智能在教育领域中的应用呈现出快速增长的趋势。 几乎是在一夜之间 ChatGPT刷爆…

怎么把中文用户名改成英文?

我们的c盘存放的是我们系统的文件&#xff0c;有些用户没有键盘分盘&#xff0c;软件游戏也在其中&#xff0c;因为名字是中文&#xff0c;需要更改成英文&#xff0c;那么win11怎么把中文用户名改成英文&#xff1f;很多小伙伴都想要了解&#xff0c;下面就来看看具体的操作。…