API 格式和簽名機(jī)制

2019-04-02 10:51 更新

API 格式

第三方應(yīng)用在請求喧喧數(shù)據(jù)時所調(diào)用的 API 的請求地址格式為:

/api.php?m=$moduleName&f=$methodName$params&code=$code&token=$token

以上請求地址格式中的變量定義如下:

  • $moduleName  :要調(diào)用的 API 所屬模塊名稱,必須提供;

  • $methodName  :要調(diào)用的 API 所屬模塊內(nèi)的方法名稱,如果缺省則為 index  ;

  • $params  :要調(diào)用的 API 方法參數(shù),如果沒有參數(shù)可以留空,如果所調(diào)用的 API 方法有參數(shù)則將參數(shù)名和參數(shù)值通過通用網(wǎng)址查詢字符串的形式插入到 $params  所在位置,例如 gid=XXX  ;

  • $code  :應(yīng)用代號,必須提供;

  • $token  :調(diào)用 API 時的數(shù)字簽名。

例如獲取討論組 gid 為 64da14c3-c07a-45af-9c61-4e638de4af26  中的用戶數(shù)據(jù)請求地址為:

/api.php?m=chat&f=getChatUsers&code=myAppCode&token=f5633c34c0c551a16c1d63bceb38d6a8

簽名算法

API 請求地址中的數(shù)字簽名 $token  應(yīng)該在每次調(diào)用時根據(jù)應(yīng)用集成密匙生成,具體算法為:

$token = md5(md5($query) + $key)

以上公式包含的變量定義如下:

  • $query  :請求地址中查詢字符串(?  之后的部分)不包含 &token=$token  的部分;

  • $key  :應(yīng)用密匙。

例如:

// 查詢參數(shù)
var $query = 'm=chat&f=getChatUsers&code=myAppCode';
// 應(yīng)用密匙
var $key   = '3cd0914d656e90ab181f1d52ff352cfe';
// 計算簽名字符串
var $token = md5(md5('m=chat&f=getChatUsers&code=myAppCode') + '3cd0914d656e90ab181f1d52ff352cfe');
// 這樣 $token 的計算值為 'f5633c34c0c551a16c1d63bceb38d6a8'




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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號