W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
my.getOpenUserInfo 可獲取支付寶會(huì)員的基礎(chǔ)信息(頭像圖片地址、昵稱、性別、國家碼、省份、所在市區(qū))。
如需獲取支付寶會(huì)員標(biāo)識(shí)(user_id),請(qǐng)調(diào)用 my.getAuthCode 和 alipay.system.oauth.token 接口。
相關(guān)問題請(qǐng)參見下文 獲取會(huì)員基礎(chǔ)信息 FAQ。
<button>
組件 的點(diǎn)擊來觸發(fā)。將 <button>
組件 open-type
的值設(shè)置為 getAuthorize
,當(dāng)用戶點(diǎn)擊并同意之后,可以通過my.getOpenUserInfo
接口獲取到支付寶服務(wù)器返回的基礎(chǔ)信息,若用戶未授權(quán),直接調(diào)用my.getOpenUserInfo
接口,則無法返回正確信息。my.getOpenUserInfo
接口獲取支付寶會(huì)員標(biāo)識(shí)(user_id)。喚起授權(quán)框,推薦兼容方案如下:
<!-- .axml -->
<button a:if="{{canIUseAuthButton}}" open-type="getAuthorize"
onGetAuthorize="onGetAuthorize" onError="onAuthError"
scope='userInfo'>
會(huì)員基礎(chǔ)信息授權(quán)
</button>
屬性 | 說明 |
---|---|
open-type | getAuthorize為授權(quán)組件(固定值)。 |
scope | userInfo(固定值)。 |
onGetAuthorize | 授權(quán)成功回調(diào)(在回調(diào)里可以調(diào)用獲取信息的接口)。 |
onError | 授權(quán)失敗回調(diào)(包括用戶拒絕和系統(tǒng)異常)。 |
用戶點(diǎn)擊同意后,即可通過 my.getOpenUserInfo()
獲取用戶基礎(chǔ)信息:
// .js
onGetAuthorize(res) {
my.getOpenUserInfo({
fail: (res) => {
},
success: (res) => {
let userInfo = JSON.parse(res.response).response // 以下方的報(bào)文格式解析兩層 response
}
});
},
您可以通過以下方式獲取用戶信息中的某個(gè)參數(shù)。
以獲取用戶信息中的昵稱為例:console.log(JSON.parse(res.response).response.nickName)
{"response": "{"response": {"code": "10000","msg": "Success","countryCode": "CN","gender": "f","nickName": "XXX","avatar": "https://tfs.alipayobjects.com/images/partner/XXXXXXXX","city": "南通市","province": "江蘇省"}}"}
{"response":"{"response":{"code":"40003","msg":"Insufficient Conditions","subCode":"isv.invalid-auth-relations","subMsg":"無效的授權(quán)關(guān)系"}}"}
入?yún)?res 對(duì)象,Object 類型,屬性被解析后如下表所示:
注:
- 在 IDE 0.70 或以上的版本支持返回全部 6 個(gè)參數(shù),由于安全原因,其中 avatar 和 nickName 是當(dāng)前登錄 IDE 用戶的真實(shí)值,其它 4 個(gè)屬性為 mock 數(shù)據(jù),在真機(jī)上上顯示為真實(shí)值。
- 若用戶未設(shè)置 avatar 和 nickName,則不會(huì)返回這兩個(gè)參數(shù)。
名稱 | 類別 | 類型 | 是否必填 | 描述 |
---|---|---|---|---|
avatar | 基礎(chǔ)類型 | String | 選填 | 頭像圖片地址 |
nickName | 基礎(chǔ)類型 | String | 選填 | 昵稱 |
gender | 基礎(chǔ)類型 | String | 必填 | 性別,男對(duì)應(yīng)“m”,女對(duì)應(yīng)“f” |
countryCode | 基礎(chǔ)類型 | String | 必填 | 國家碼 |
province | 基礎(chǔ)類型 | String | 必填 | 省份 |
city | 基礎(chǔ)類型 | String | 必填 | 所在市區(qū) |
更新時(shí)間:2020-03-11 17:24:12
用戶 主動(dòng)觸發(fā) 才能發(fā)起獲取會(huì)員基礎(chǔ)信息請(qǐng)求,不能由 API 直接獲取會(huì)員基礎(chǔ)信息,需使用 button 組件 的“點(diǎn)擊”動(dòng)作來觸發(fā)操作。需要將 <button>
組件 open-type
的值設(shè)置為 getAuthorize
,并將 scope
設(shè)為 userinfo
,示例代碼如下:
<!-- .axml -->
<button a:if="{{canIUseAuthButton}}" open-type="getAuthorize"
onGetAuthorize="onGetAuthorize" onError="onAuthError"
scope='userInfo'>
會(huì)員基礎(chǔ)信息授權(quán)
</button>
自 2019 年5月25日 起,已不再支持添加“獲取會(huì)員信息”功能包。
已添加“獲取會(huì)員信息”功能包的小程序,在使用“獲取會(huì)員基礎(chǔ)信息”功能之前,仍需添加“獲取會(huì)員基礎(chǔ)信息”功能包。
alipay.user.info.share 是“獲取會(huì)員信息”功能包中使用的 API?!矮@取會(huì)員信息”功能包已于2019 年5月25日升級(jí),在此日期之前未簽約“獲取會(huì)員信息”功能包的小程序無法再調(diào)用 alipay.user.info.share,請(qǐng)使用“獲取會(huì)員基礎(chǔ)信息”功能包。
“獲取會(huì)員信息”功能包已下架,若之前創(chuàng)建的應(yīng)用已添加了“獲取會(huì)員信息”的功能包則能正常調(diào)用接口,未添加的則無法再添加此功能。 新創(chuàng)建的應(yīng)用請(qǐng)使用 獲取會(huì)員基礎(chǔ)信息 my.getOpenUserInfo 接口。
\1. 在小程序開發(fā)管理后臺(tái)的 功能列表 中,點(diǎn)擊 添加功能。
\2. 添加 獲取會(huì)員基礎(chǔ)信息 功能包。
部分支付寶用戶沒有設(shè)置昵稱,故獲取不到用戶昵稱。
不能在同一個(gè)彈框中同時(shí)獲取會(huì)員手機(jī)號(hào)和頭像、昵稱。
可分別獲取會(huì)員手機(jī)號(hào),和獲取用戶頭像及昵稱。
不可以。獲取支付寶用戶的 user_id 需要在服務(wù)器端調(diào)用 alipay.system.oauth.token 。
不可以?!矮@取會(huì)員基礎(chǔ)信息”只能獲取用戶頭像、昵稱、性別、所在地區(qū)等信息。
正常獲取會(huì)員基礎(chǔ)信息需要彈窗兩次進(jìn)行授權(quán)確認(rèn):一次是 my.getAuthCode 獲取用戶授權(quán)碼的授權(quán)框, 另一次是 my.getOpenUserInfo 中獲取用戶基礎(chǔ)信息的授權(quán)框。
my.getAuthCode 使用靜默授權(quán)方法(令 scopes 為 auth_base)即可實(shí)現(xiàn)只出現(xiàn)一個(gè)授權(quán)彈框。示例代碼如下:
my.getAuthCode({
scopes: ['auth_base'],
success: (res) => {
my.alert({
content: res.authCode,
});
},
});
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: