快應(yīng)用OPPO賬號(hào)服務(wù)端API

2020-08-08 15:47 更新

一、API 概覽


API

描述

/jitsopen/api/oauth2/v1.0/token

根據(jù)授權(quán)碼獲取token

/jitsopen/api/oauth2/v1.0/token

根據(jù)refreshToken刷新token

/jitsopen/api/oauth2/v1.0/userinfo

根據(jù)token獲取用戶信息


二、調(diào)用方式


2.1 服務(wù)域名

https://jits.open.oppomobile.com

2.2 通信協(xié)議

支持通過 HTTP 通道進(jìn)行請(qǐng)求通信

2.3 請(qǐng)求方法

支持 HTTP POST 方法發(fā)送請(qǐng)求,請(qǐng)求參數(shù)包含在請(qǐng)求的 URL 中

2.4 簽名算法

說明: 

           api_sign計(jì)算規(guī)則為涉及請(qǐng)求參數(shù)(包含get參數(shù)和POST參數(shù)( 值為NULL的參數(shù)不參與簽名),例如請(qǐng)求參數(shù)k1=v1,參數(shù)k2=v2) 


詳細(xì)算法如下:

          step 1:請(qǐng)求參數(shù)(去除appId 、sign、timestamp 這三個(gè)參數(shù))按照參數(shù)名字母升序排列 

          step 2:請(qǐng)求參數(shù)根據(jù)&拼接字符串string。(例如,拼接成k1=v1&k2=v2) 

          step 3:字符串string之后拼接timestamp,appId和appSecret。(例如,接上一步,k1=v1&k2=v2×tamp={timestamp}&appId={appId}&appSecret={appSecret}) 

          step 4:對(duì)step3得到的字符串進(jìn)行MD5哈希(32位小寫)得到sign,然后轉(zhuǎn)換為十六進(jìn)制字符串作為參數(shù)傳遞 


例子:
        1) 分配調(diào)用方appId=5f4dbf2e5629d8cc19e7d51874266678 appSecret=a198fe96c4cadb744ed57b3ad563f037 

        2)請(qǐng)求傳遞參數(shù): 

          GET參數(shù)為: c=1&b=2
          POST參數(shù)為: a=3 d=4 

        3)當(dāng)前系統(tǒng)時(shí)間戳:timestamp=1510277528 

        4)則 byte[] sign=md5(a=3&b=2&c=1&d=4×tamp=1510277528&appId=5f4dbf2e5629d8cc19e7d51874266678&appSecret=a198fe96c4cadb744ed57b3ad563f037) 

        5)String strSign = fromBytesToHex(sign);


算法參考實(shí)現(xiàn)(點(diǎn)擊下載):


三、接口詳細(xì)定義

3.1 根據(jù)授權(quán)碼獲取token

3.1.1 接口詳情

請(qǐng)求URI

/jitsopen/api/oauth2/v1.0/token

HTTP Method

POST

說明

客戶端獲取授權(quán)碼后,服務(wù)端可通過授權(quán)碼向授權(quán)服務(wù)器請(qǐng)求access_token

請(qǐng)求

Header

Content-Type

application/json

參數(shù)

類型

是否

必需

說明

appId

字符串

必需

快應(yīng)用在開放平臺(tái)申請(qǐng)的appId

code

字符串

必需

授權(quán)碼

scope

字符串

必需

請(qǐng)求的授權(quán)范圍不能包含任何資源所有者最初未許可的范圍。若省略,被視為與資源所有者最初許可的范圍相同

timestamp

長(zhǎng)整型

必需

時(shí)間戳,當(dāng)前計(jì)算機(jī)時(shí)間和GMT時(shí)間(格林威治時(shí)間)1970年1月1號(hào)0時(shí)0分0秒所差的毫秒數(shù)

sign

字符串

必需

簽名,簽名算法見2.4的描述

成功響應(yīng)

HTTP狀態(tài)碼

200

Header

說明

Content-Type

application/json

 

Cache-Control

no-store

 

Pragma

no-cache

 

對(duì)象

字段

類型

是否

必有

說明

code

 

字符串

必有

返回碼,請(qǐng)求成功的話,返回“200”

msg

 

字符串

可選

提示信息

data

 

 

 

 

accessToken

字符串

必有

授權(quán)服務(wù)器頒發(fā)的訪問令牌

tokenType

字符串

必有

令牌的類型,大小寫不敏感,目前支持“Bearer”

expiresIn

長(zhǎng)整型

必有

token過期時(shí)間,單位:秒

refreshToken

字符串

可選

刷新token

scope

字符串

必有

授權(quán)范圍

openId

字符串

可選

標(biāo)識(shí)用戶身份的openId

錯(cuò)誤響應(yīng)

HTTP狀態(tài)碼

200

Header

說明

Content-Type

application/json

 

Cache-Control

no-store

 

Pragma

no-cache

 

字段

字段

類型

是否

必有

說明

code

 

字符串

必有

錯(cuò)誤碼

msg

 

字符串

必有

錯(cuò)誤提示信息

data

 

對(duì)象

可選

返回的數(shù)據(jù)對(duì)象


3.1.2 正常響應(yīng)示例:


{
      "code":"200",
      "msg": "success",
      "data": {
                 "accessToken":"23fkewhf234lsjgxfaxufkk5f98",
                 "tokenType": "Bearer",
                 "expiresIn": 3600,
                 "refreshToken": "3423fwefwef984234h42323ffsffe",
                 "scope":"profile",
                 "openId":""
       }
     
}

3.2 刷新token 

3.2.1 接口詳情


請(qǐng)求URI

/jitsopen/api/oauth2/v1.0/token

HTTP Method

POST

說明

服務(wù)端通過前面獲得的refreshToken來刷新token

請(qǐng)求

Header

Content-Type

application/json

參數(shù)

類型

是否必需

說明

appId

字符串

必需

快應(yīng)用在開放平臺(tái)申請(qǐng)的appId

refreshToken

字符串

必需

刷新token碼

scope

字符串

必需

請(qǐng)求的授權(quán)范圍不能包含任何資源所有者最初未許可的范圍。若省略,被視為與資源所有者最初許可的范圍相同

timestamp

長(zhǎng)整型

必需

時(shí)間戳,當(dāng)前計(jì)算機(jī)時(shí)間和GMT時(shí)間(格林威治時(shí)間)1970年1月1號(hào)0時(shí)0分0秒所差的毫秒數(shù)

sign

字符串

必需

簽名,簽名算法見2.4的描述

成功響應(yīng)

HTTP狀態(tài)碼

200

Header

說明

Content-Type

application/json

 

Cache-Control

no-store

 

Pragma

no-cache

 

對(duì)象

字段

類型

是否必有

說明

code

 

字符串

必有

返回碼,請(qǐng)求成功的話,返回“200”

msg

 

字符串

可選

提示信息

data

 

 

 

 

accessToken

字符串

必有

授權(quán)服務(wù)器頒發(fā)的訪問令牌

tokenType

字符串

必有

令牌的類型,大小寫不敏感,目前支持“Bearer”

expiresIn

長(zhǎng)整型

必有

token過期時(shí)間,單位:秒

refreshToken

字符串

可選

刷新token

scope

字符串

必有

授權(quán)范圍

openId

字符串

可選

標(biāo)識(shí)用戶身份的openId

錯(cuò)誤響應(yīng)

HTTP狀態(tài)碼

200

Header

說明

Content-Type

application/json

 

Cache-Control

no-store

 

Pragma

no-cache

 

字段

字段

類型

是否必有

說明

code

 

字符串

必有

錯(cuò)誤碼

msg

 

字符串

必有

錯(cuò)誤提示信息

data

 

對(duì)象

可選

返回的數(shù)據(jù)對(duì)象

3.2.2 正常響應(yīng)示例:

{
      "code":"200",
      "msg": "success",
      "data": {
                 "accessToken":"23fkewhf234lsjgxfaxufkk5f98",
                 "tokenType": "Bearer",
                 "expiresIn": 3600,
                 "refreshToken": "3423fwefwef984234h42323ffsffe",
                 "scope":"profile",
                 "openId":""
       }
     

}

3.3 獲取用戶基本信息 

3.3.1 接口詳情

請(qǐng)求URI

/jitsopen/api/oauth2/v1.0/userinfo

HTTP Method

POST

說明

服務(wù)端通過前面獲得的accessToken來獲取用戶信息

請(qǐng)求

Header

Content-Type

application/json

參數(shù)

類型

是否必需

說明

appId

字符串

必需

快應(yīng)用在開放平臺(tái)申請(qǐng)的appId

token

字符串

必需

accessToken,訪問令牌

timestamp

長(zhǎng)整型

必需

時(shí)間戳,當(dāng)前計(jì)算機(jī)時(shí)間和GMT時(shí)間(格林威治時(shí)間)1970年1月1號(hào)0時(shí)0分0秒所差的毫秒數(shù)

sign

字符串

必需

簽名,簽名算法見2.4的描述

成功響應(yīng)

HTTP狀態(tài)碼

200

Header

說明

Content-Type

application/json

 

Cache-Control

no-store

 

Pragma

no-cache

 

對(duì)象

字段

類型

是否必有

說明

code

 

字符串

必有

返回碼,請(qǐng)求成功的話,返回“200”

msg

 

字符串

可選

提示信息

data

 

 

 

 

nickName

昵稱

必有

授權(quán)服務(wù)器頒發(fā)的訪問令牌

avatars

json對(duì)象

必有

{

"defaultAvatar" : "https://xxx.xxxx.xxx/a.gif" //默認(rèn)頭像

}

錯(cuò)誤響應(yīng)

HTTP狀態(tài)碼

200

Header

說明

Content-Type

application/json

 

Cache-Control

no-store

 

Pragma

no-cache

 

字段

字段

類型

是否必有

說明

code

 

字符串

必有

錯(cuò)誤碼

msg

 

字符串

必有

錯(cuò)誤提示信息

data

 

對(duì)象

可選

返回的數(shù)據(jù)對(duì)象

3.3.2 正常響應(yīng)示例:

{

      "code":"200",
      "msg": "success",
      "data": {
                    "nickName":"ksfifa",
                    "avatars": {
                    "defaultAvatar" :"https://xxx.xxxx.xxx/a.gif"
               }
        }
     
}

 




以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)