W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
版本要求:基礎(chǔ)庫 1.17.1 或更高版本;支付寶客戶端 10.1.60 或更高版本,若版本較低,建議做 兼容處理
注意:
獲取用戶一個(gè)自然天內(nèi)的運(yùn)動(dòng)步數(shù)信息。
調(diào)用本 API 時(shí)無需再接入授權(quán) API,系統(tǒng)將自動(dòng)會(huì)檢查用戶是否已授權(quán)。若用戶尚未授權(quán),則會(huì)彈出授權(quán)框;用戶同意授權(quán)后,可獲取到返回的加密數(shù)據(jù)。 然后在服務(wù)端結(jié)合簽名算法和 AES 密鑰進(jìn)行解密,獲取運(yùn)動(dòng)數(shù)據(jù)。
目前只支持查詢最近 30 天內(nèi)的運(yùn)動(dòng)數(shù)據(jù),若超過 30 天,則返回的步數(shù)信息為 0。
my.getRunData({
countDate: '2018-12-19',
timeZone: 'Asia/Shanghai',
fail: (res) => {
console.log('get pedometer encrypted fail:'+JSON.stringify(res))
},
success: (res) => {
let that = this;
console.log('get pedometer encrypted success:'+JSON.stringify(res))
my.request({
url: 'http://www.telmo.cn/gateway/decrypt',
data: {
encryptKey: 'VyxFi6ZJtYz1UGLFZYPD9g==',
encryptContent: res.response
},
success: function(res) {
console.log('decrypt pedometer success:'+JSON.stringify(res))
that.setData({
step: res.data.count
})
},
fail: function(res) {
console.log('decrypt pedometer fail:'+JSON.stringify(res))
}
})
},
complete: (res) => {
console.log('getRunData complete:' + JSON.stringify(res))
}
})
參數(shù) | 類型 | 必填 | 說明 |
---|---|---|---|
countDate | String | 是 | 要查詢的步數(shù)日期(yyyy-mm-dd)的字符串例如:countDate: '2018-12-19' 。 |
timeZone | String | 是 | 要查詢的時(shí)區(qū)信息,例如:timeZone: 'Asia/Shanghai' |
fail | Function | 否 | 調(diào)用失敗的回調(diào)函數(shù)。 |
success | Function | 否 | 調(diào)用成功的回調(diào)函數(shù)。 |
complete | Function | 否 | 調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)。 |
參數(shù) | 類型 | 說明 |
---|---|---|
response | String | 查詢到的指定日期的步數(shù),該數(shù)據(jù)是經(jīng)過加密的,需要通過 my.request 請(qǐng)求解密數(shù)據(jù)。 |
res.response 為完整的報(bào)文數(shù)據(jù),前端需要將該報(bào)文發(fā)送到開發(fā)者服務(wù)端做驗(yàn)簽和解密處理,服務(wù)端解密后的明文示例如下:
{
"count": "16880",
"countDate": "2018-12-19",
"code": "10000",
"timeZone": "Asia/Shanghai"
}
{
"code": "40003",
"msg": "Insufficient Conditions",
"subCode": "isv.invalid-auth-relations",
"subMsg": "無效的授權(quán)關(guān)系"
}
{
"code": "20000",
"msg": "Service Currently Unavailable",
"subCode": "aop.unknow-error",
"subMsg": "系統(tǒng)繁忙"
}
{
"code": "40001",
"msg": "Missing Required Arguments",
"subCode": "isv.missing-default-signature-type",
"subMsg": "應(yīng)用未設(shè)置默認(rèn)簽名類型"
}
//解決方案:重新保存下開發(fā)者的密鑰,或者設(shè)置下小程序的應(yīng)用網(wǎng)關(guān)地址
{
"code": "40002",
"msg": "Invalid Arguments",
"subCode": "isv.invalid-encrypt",
"subMsg": "加密異常"
}
//解決方案:按文檔重新設(shè)置AES密鑰
結(jié)果碼 | 結(jié)果描述 | 解決方案 |
---|---|---|
MISSING_PARAMETER | 缺少入?yún)⑿畔?/td> | 檢查步數(shù)日期是否傳入。 |
INVALID_DATE | 傳入的查詢?nèi)掌诜欠?/td> | countDate 格式為 yyyy-MM-dd 的字符串,請(qǐng)按照描述修正傳入的參數(shù)。 |
INVALID_USER_STATUS | 此用戶未開通支付寶運(yùn)動(dòng)業(yè)務(wù) | 此支付寶用戶未開通支付寶運(yùn)動(dòng)業(yè)務(wù)。需用戶在支付寶首頁 > 教育公益 > 運(yùn)動(dòng) >設(shè)置 頁面(或直接在支付寶搜索“運(yùn)動(dòng)”)開通支付寶運(yùn)動(dòng)業(yè)務(wù)后才能使用此接口查詢用戶步數(shù)信息。 |
INVALID_USERID | userid 非法 | 入?yún)⒌?nbsp;userid 格式錯(cuò)誤,請(qǐng)注意: userid 必須是以 2088 開頭的 16位數(shù)字字符串 請(qǐng)修正此參數(shù) |
INVALID_APP_ID | appId 為空 | 請(qǐng)檢查 appid 是否正確 |
INVALID_TIMEZONE | 傳入的時(shí)區(qū)信息有誤 | 請(qǐng)檢查時(shí)區(qū)設(shè)備問題 |
這是已知問題,會(huì)在基礎(chǔ)庫 1.23.0 版本修復(fù),原因是同步 API 容器底層偶現(xiàn)異常導(dǎo)致。
未配置開放平臺(tái) AES 密鑰導(dǎo)致的報(bào)錯(cuò)。
1、登錄支付寶 開放平臺(tái) ,在“管理中心”選擇需要配置 AES 密鑰的應(yīng)用,在“ 應(yīng)用詳情-應(yīng)用環(huán)境 ”頁面配置 AES 密鑰。
2、在開放平臺(tái),“ 賬戶密鑰管理 ” 頁面點(diǎn)擊配置 AES 密鑰。
兩個(gè)入口選擇其一即可完成配置。
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)系方式:
更多建議: