Web API美狐萌顏sdk 的使用分為三個流程

美狐1031691172發表於2019-08-19

聯絡我 們美狐 萌顏sdk 獲取key和secret

透過key和secret獲取access_token

透過access_token訪問API

獲取 美狐 萌顏sdk access_token

獲取access_token時,需要用到key和secret,本文件中假設

Key = '12345' //必須攜帶

Secrect = '54321'

獲取access_token的具體流程如下:

1. 本次獲取美狐 萌顏sdk 將本次請求引數按照名稱進行升序排列

排序前:

{

    "Key":"12345"

}

排序後:

{

    "params":"test"

}

2. 在美狐 萌顏sdk 構造被簽名引數串 *

簽名串的構造規則為:被簽名串 = 所有請求引數拼接(無需HTTP轉義),並在本簽名串的結尾拼接secret。

本例中排序後引數見上,故引數拼接後為Key12345paramstest,然後加上賬戶中的secret,即本例中的54321 ,最終被簽名串為

Key12345paramstest54321。

3. 在美狐 萌顏sdk 計算簽名 *

計算被簽名串的sha1值生成Signature。

Nodejs程式碼

const { createHash } = require("crypto");

function signature(params,secrect) {

    let keys = Object.keys(params).sort();  //按引數排序

    let sign_str: string = '';

    keys.forEach((value, index) => {        //構造被簽名串

        sign_str += value + params[value];

    });                                     

    sign_str += secrect;                    //連線secrect

    return createHash('sha1').update(sign_str).digest('hex'); //返回被簽名串的sha1值

}

Python程式碼

import hashlib

import urlparse

import urllib

def _verfy_ac(private_key, params):

    items=params.items()

    # 請求引數串

    items.sort()

    # 將引數串排序

    params_data = "";

    for key, value in items:

        params_data = params_data + str(key) + str(value)

    params_data = params_data + private_key

    sign = hashlib.sha1()

    sign.update(params_data)

    signature = sign.hexdigest()

    return signature

    # 生成的Signature值

簽名計算命令列工具:Windows版 Linux版 Macos版

Exmaple:faceunity-cli signature --key 111 --secrect 222

4. 在美狐 萌顏sdk   拼接出請求連結

將計算出的Signature拼接到尾部(各引數需要url編碼,例如Key為lbA2MypNve2PeZpaOiPUGnSt+FHePw==,編碼後為

lbA2MypNve2PeZpaOiPUGnSt%2BFHePw%3D%3D)

 

5. 最後需要美狐 萌顏sdk 傳送請求,獲取access_token

請求成功後會返回如下結構

{

    "code":2,

    "message":"success",

    "data":{

        "access_token":"82f205d0-8a31-11e8-8c11-b74c5a2e235c",

        "expirein":600

    }

}

data.access_token:申請到的access_token。

data.expirein:token的過期時間,單位為秒。

以上就是美狐 萌顏sdk的API使用的三個流程,詳細介紹了 透過key和secret獲取access_token 透過access_token訪問API 獲取 美狐 萌顏sdk access_token 獲取access_token時,需要用到key和secret


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69945872/viewspace-2654161/,如需轉載,請註明出處,否則將追究法律責任。

相關文章