小程序登錄授權(quán)獲取用戶信息_第1頁(yè)
小程序登錄授權(quán)獲取用戶信息_第2頁(yè)
小程序登錄授權(quán)獲取用戶信息_第3頁(yè)
小程序登錄授權(quán)獲取用戶信息_第4頁(yè)
小程序登錄授權(quán)獲取用戶信息_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

?程序登錄授權(quán)獲取?戶信息?登錄時(shí)序圖如下:wx.login()獲取js_code?例代碼:App({onLaunch:function(){wx.login({success:function(res){if(res.code){//TODO}else{console.log('獲取?戶登錄態(tài)失敗!'+res.errMsg)}}});}})code換取session_key接?地址:/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code請(qǐng)求參數(shù):參數(shù)必填是說(shuō)明appid?程序唯?標(biāo)識(shí)secretjs_codegrant_type是?程序的appsecret登錄時(shí)獲取的code填寫為authorization_code是是返回參數(shù):參數(shù)說(shuō)明openid?戶唯?標(biāo)識(shí)會(huì)話密鑰session_keyunionid?戶在開放平臺(tái)的唯?標(biāo)識(shí)符。本字段在滿??定條件的情況下才返回。具體參看wx.checkSession檢測(cè)當(dāng)前?戶登錄態(tài)是否有效wx.checkSession({success:function(){//session未過(guò)期,并且在本?命周期?直有效},fail:function(){//登錄態(tài)過(guò)期wx.login()//重新登錄}})?授權(quán)部分接?需要獲得?戶授權(quán)同意后才能調(diào)?。此類接?調(diào)?時(shí):如果?戶未接受或拒絕過(guò)此權(quán)限,會(huì)彈窗詢問(wèn)?戶,?戶點(diǎn)擊同意后?可調(diào)?接?;如果?戶已授權(quán),可以直接調(diào)?接?;如果?戶已拒絕授權(quán),則短期內(nèi)不會(huì)出現(xiàn)彈窗,?是直接進(jìn)?接?fail回調(diào)。請(qǐng)開發(fā)者兼容?戶拒絕授權(quán)的場(chǎng)景。請(qǐng)開發(fā)者兼容?戶拒絕授權(quán)的場(chǎng)景。開發(fā)者可以使?獲取??戶當(dāng)前的授權(quán)戶當(dāng)前的授權(quán)狀態(tài)狀。wx.getSetting({success:(res)=>{/**res.authSetting={*"scope.userInfo":true,*"scope.userLocation":true*}*/}})?戶可以在?程序設(shè)置界?(右上?-關(guān)于-右上?-設(shè)置)中控制對(duì)該?程序的授權(quán)狀態(tài)。開發(fā)者可以調(diào)?打開設(shè)置界?,引導(dǎo)?戶開啟授權(quán)。wx.openSetting({success:(res)=>{/**res.authSetting={*"scope.userInfo":true,*"scope.userLocation":true*}*/}})授權(quán)提前向?戶發(fā)起授權(quán)請(qǐng)求。調(diào)?后會(huì)?刻彈窗詢問(wèn)?戶是否同意授權(quán)?程序使?某項(xiàng)功能或獲取?戶的某些數(shù)據(jù),但不會(huì)實(shí)際調(diào)?對(duì)應(yīng)接?。如果?戶之前已經(jīng)同意授權(quán),則不會(huì)出現(xiàn)彈窗,直接返回成功。OBJECT參數(shù)說(shuō)明:參數(shù)名scopesuccessfail類型必填是說(shuō)明String需要獲取權(quán)限的scope,詳見接?調(diào)?成功的回調(diào)函數(shù)FunctionFunctionFunction否否接?調(diào)?失敗的回調(diào)函數(shù)complete否接?調(diào)?結(jié)束的回調(diào)函數(shù)(調(diào)?成功、失敗都會(huì)執(zhí)?)success返回參數(shù)說(shuō)明:參數(shù)名類型說(shuō)明errMsgString調(diào)?結(jié)果//先查詢?下?戶是否授權(quán)了"scope.record"這個(gè)scopewx.getSetting({success(res){if(!res.authSetting['scope.record']){wx.authorize({scope:'scope.record',success(){//?戶已經(jīng)同意?程序使?錄?功能,后續(xù)調(diào)?wx.startRecord接?不會(huì)彈窗詢問(wèn)wx.startRecord()}})}}})scope對(duì)應(yīng)接?描述scope.userInfoscope.userLocationscope.addressscope.invoiceTitlescope.werunwx.getUserInfo?戶信息地理位置通訊地址發(fā)票抬頭微信運(yùn)動(dòng)步數(shù)錄?功能保存到相冊(cè)攝像頭wx.getLocation,wx.chooseLocationwx.chooseAddresswx.chooseInvoiceTitlewx.getWeRunDatascope.recordwx.startRecordscope.writePhotosAlbumscope.camerawx.saveImageToPhotosAlbum,wx.saveVideoToPhotosAlbum三獲取?戶信息1.wx.getUserInfo(OBJECT)獲取?戶信息,withCredentials為true時(shí)需要先調(diào)?接?。需要scope.userInfoOBJECT參數(shù)說(shuō)明:參數(shù)名類型必填否說(shuō)明最低版本withCredentialslangBooleanString是否帶上登錄態(tài)信息否指定返回?戶信息的語(yǔ)?,zh_CN簡(jiǎn)體中?,zh_TW繁體中?,en英?。默認(rèn)為en。successfailFunctionFunctionFunction否接?調(diào)?成功的回調(diào)函數(shù)否接?調(diào)?失敗的回調(diào)函數(shù)complete否接?調(diào)?結(jié)束的回調(diào)函數(shù)(調(diào)?成功、失敗都會(huì)執(zhí)?)注:當(dāng)withCredentials為true時(shí),要求此前有調(diào)?過(guò)wx.login且登錄態(tài)尚未過(guò)期,此時(shí)返回的數(shù)據(jù)會(huì)包含encryptedData,iv等敏感信息;當(dāng)withCredentials為false時(shí),不要求有登錄態(tài),返回的數(shù)據(jù)不包含encryptedData,iv等敏感信息。success返回參數(shù)說(shuō)明:參數(shù)類型說(shuō)明userInforawDatasignatureencryptedDataivOBJECTStringStringStringString?戶信息對(duì)象,不包含openid等敏感信息不包括敏感信息的原始數(shù)據(jù)字符串,?于計(jì)算簽名。使?sha1(rawData+sessionkey)得到字符串,?于校驗(yàn)?戶信息,參考?檔。包括敏感數(shù)據(jù)在內(nèi)的完整?戶信息的加密數(shù)據(jù)加密算法的初始向量userInfo參數(shù)說(shuō)明:參數(shù)類型說(shuō)明nickNameavatarUrlStringString?戶昵稱?戶頭像,最后?個(gè)數(shù)值代表正?形頭像??(有0、46、64、96、132數(shù)值可選,0代表640*640正?形頭像),?戶沒(méi)有頭像時(shí)該項(xiàng)為空。若?戶更換頭像,原有頭像URL將失效。gendercityString?戶的性別,值為1時(shí)是男性,值為2時(shí)是?性,值為0時(shí)是未知String?戶所在城市provincecountrylanguageString?戶所在省份StringString?戶所在國(guó)家?戶的語(yǔ)?,簡(jiǎn)體中?為zh_CN?例代碼:wx.getUserInfo({success:function(res){varuserInfo=res.userInfovarnickName=userInfo.nickNamevaravatarUrl=userInfo.avatarUrlvargender=userInfo.gender//性別0:未知、1:男、2:?varprovince=userIvincevarcity=userInfo.cityvarcountry=userInfo.country}})encryptedData解密后為以下json結(jié)構(gòu){"openId":"OPENID","nickName":"NICKNAME","gender":GENDER,"city":"CITY","province":"PROVINCE","country":"COUNTRY","avatarUrl":"AVATARURL","unionId":"UNIONID","watermark":{"appid":"APPID","timestamp":TIMESTAMP}}2.getPhoneNumber(OBJECT)獲取微信?戶綁定的?機(jī)號(hào),需先調(diào)?接?。因?yàn)樾枰?戶主動(dòng)觸發(fā)才能發(fā)起獲取?機(jī)號(hào)接?,所以該功能不由API來(lái)調(diào)?,需?<button>組件的點(diǎn)擊來(lái)觸發(fā)。注意:?前該接?針對(duì)?個(gè)?開發(fā)者,且完成了認(rèn)證的?程序開放。需謹(jǐn)慎使?,若?戶舉報(bào)較多或被發(fā)現(xiàn)在不必要場(chǎng)景下使?,微信有權(quán)永久回收該?程序的該接?權(quán)限。需要將<button>組件open-type的值設(shè)置為getPhoneNumber,當(dāng)?戶點(diǎn)擊并同意之后,可以通過(guò)bindgetphonenumber事件回調(diào)獲取到微信服務(wù)器返回的加密數(shù)據(jù),然后在第三?服務(wù)端結(jié)合session_key以及app_id進(jìn)?解密獲取?機(jī)號(hào)。在回調(diào)中調(diào)?wx.login登錄,可能會(huì)刷新登錄態(tài)。此時(shí)服務(wù)器使?code換取的sessionKey不是加密時(shí)使?的sessionKey,導(dǎo)致解密失敗。建議開發(fā)者提前進(jìn)?login;或者在回調(diào)中先使?checkSession進(jìn)?登錄態(tài)檢查,避免login刷新登錄態(tài)。代碼?例:<buttonopen-type="getPhoneNumber"bindgetphonenumber="getPhoneNumber"></butto>Page({getPhoneNumber:function(e){console.log(e.detail.errMsg)console.log(e.detail.iv)console.log(e.detail.encryptedData)}})參數(shù)類型說(shuō)明encryptedDataStringString包括敏感數(shù)據(jù)在內(nèi)的完整?戶信息的加密數(shù)據(jù)加密算法的初始向量ivencryptedData解密后為以下json結(jié)構(gòu){"

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論