微信小程式獲取微信繫結授權手機號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)
}
})
返回引數說明
引數 | 型別 | 說明 |
---|---|---|
encryptedData | String | 包括敏感資料在內的完整使用者資訊的加密資料,詳細見加密資料解密演算法 |
iv | String | 加密演算法的初始向量,詳細見加密資料解密演算法 |
encryptedData 解密後為以下 json 結構,詳見加密資料解密演算法
{
"phoneNumber": "13580006666",
"purePhoneNumber": "13580006666",
"countryCode": "86",
"watermark":
{
"appid":"APPID",
"timestamp":TIMESTAMP
}
}
但是到這裡你會發現其實根本不詳盡尤其是解密和錯誤程式碼方面首先如手冊所述,解析加密資料包不太明白我給大家貼個示例
後臺解析程式碼就是利用傳過去的三個值,來進行解析每個語言解析方式不同請下載樣例
微信官方提供了多種程式語言的示例程式碼(點選下載)。每種語言型別的介面名字均一致。呼叫方式可以參照示例。
注意解析方式跟解析使用者資訊是一個解析方式!!!!
在這裡小編遇到了一個問題解析回的形式雖然跟文件相同但是!
卻是這個樣子的資料:
這樣的情況其實是因為開發的基礎庫版庫過低造成的
配置地點在這裡:
小編修改為v1.9.1之後呈現形式就如同官網手冊 一樣了
{
"phoneNumber": "13580006666",
"purePhoneNumber": "13580006666",
"countryCode": "86",
"watermark":
{
"appid":"APPID",
"timestamp":TIMESTAMP
}
}
至此獲取微信繫結的使用者手機號完成!
還有一點要注意你的開發版本上去了,但是使用者不一定更新了
所以微信後臺有這樣一個配置~
剩下的問題歡迎在下面評論,第一次寫部落格希望對大家有幫助!!!
我在網上已經看到幾篇轉載的,個人之作轉載請註明出處!
csdn部落格-大國的部落格
原文地址:https://blog.csdn.net/weixin_41818665/article/details/79509792
相關文章
- 微信開發之小程式獲取手機號授權登入
- 小程式獲取微信使用者繫結的手機號
- 微信小程式踩坑之獲取手機號微信小程式
- 微信小程式如何獲取使用者手機號微信小程式
- uniapp微信小程式獲取手機號 位置資訊APP微信小程式
- Java解析微信獲取手機號資訊Java
- 微信小程式手機號登入微信小程式
- 手機號碼繫結流程
- 小程式獲取手機號親測成功
- 微信小程式使用者手機號登入微信小程式
- 前端實現微信公眾號授權—獲取openid前端
- [小程式開發實戰]使用WxJava實現手機號獲取Java
- 【解決】小程式|微信公眾號授權給第三方平臺時報“沒有繫結公眾號”
- android 獲取手機號碼Android
- iphone獲取手機裝置號iPhone
- 微信公眾號開發 —— 微信網頁授權小記網頁
- 安卓手機微信小程式元素識別問題,突然出現安卓微信小程式
- Android程式設計獲取手機型號,本機電話號碼,sdk版本及firmware版本號(即系統版本號)Android程式設計
- 透過手機號查詢繫結QQ
- 【今日干貨】分享個微信解綁手機號的方法
- 微信小程式獲取手機定位+經緯度轉詳細地址微信小程式
- 微信小程式結合php後臺實現登入授權機制詳解微信小程式PHP
- iOS 獲取手機型號,XR,XS,MAXiOS
- 判斷手機號碼是不是與平臺繫結的號碼
- 如何獲取微信的版本號詳解【附完整原始碼】原始碼
- 微信小程式載入、更新和生命週期、分享、轉發、獲取頭像、獲取暱稱、手機號、客服功能、vant-app微信小程式APP
- 微信公眾號測試號開發小結
- 微信公眾號開發Django JSSDK授權DjangoJS
- 微信公眾號開發Django 網頁授權Django網頁
- 手機號碼定位
- 定位器裝置繫結新增手機號欄位
- 微信小程式——授權微信小程式
- 微信公號 DIY:一小時搭建微信聊天機器人機器人
- android之實現跳轉手機通訊錄獲取指定姓名和手機號碼Android
- 微信公眾號支付實現詳解(前端)前端
- Android 修改手機中的型號、Wlan、藍芽、照片資訊中所帶的手機型號Android藍芽
- 微信小程式授權登入獲取使用者資訊微信小程式
- 微信小程式 文字超出省略號微信小程式