[英]API token authentication issues in php
首先,我想說我不是英語(法語),所以這有時會帶來一些錯誤。
所以我的問題是我正在嘗試使用網站的API,可以在文檔中找到該文檔
問題在於需要身份驗證的請求,對於公共請求,一切都很好。
所以我嘗試了根據網站“檢索帳戶余額”的第一個請求,該請求是一個簽名的get方法(使用hmac256有效負載)。
事情變得越來越困難,因為文檔說有效載荷必須是recvWindow = 5000×tamp = 1540203005798(在篡改前帶有怪異的叉號),即使我認為這更多是顯示問題,或者可以在文檔中找到另一行:recvWindow = 5000&timestamp = 我的時間戳 。 所以這是第一個問題,因為我不知道在有效負載中使用哪個。 (但是我已經嘗試了兩者,但沒有成功……)。
然后,我寫了一個快速的PHP腳本來檢索我的信息:
<?php
include('pwd.php');
$time = time()*1000;
$sign = hash_hmac('sha256', 'recvWindow=5000×tamp='.$time, $private);
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=> array("Authorization" => $public,
"Signature" => $sign
)
));
$context = stream_context_create($opts);
$fp = file_get_contents('https://trade.coss.io/c/api/v1/account/balances?
recvWindow=5000×tamp='.$time, false, $context);
echo $fp;
?>
第一個include juste包括我的公鑰和我的私鑰。
我想不通發現此腳本有什么問題,因為我嘗試對每個帶有十字架的有效載荷進行交叉,而沒有將我的時間戳與固定時間戳的十字架進行交叉,但無濟於事,我只得到500錯誤。
任何形式的幫助都是很好的。
我找到了我的問題的答案,它的答案來自有語法錯誤的標頭,而不是我寫的正確方法是:
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=> array("Authorization: ".$public,
"Signature: ".$sign
)
));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.