BINANCEから提供されている API を使って様々な情報を取得してみる。
認証が必要ない情報
全ての通貨ペア価格を取得する
https://api.binance.com/api/v1/ticker/allPrices
特定通貨ペアの詳細を取得
https://api.binance.com/api/v1/ticker/24hr?symbol=BNBBTC
URI のパラメータ「symbol=」を変更すると様々な通貨ペアの詳細が取得できる
認証が必要な情報
アカウント情報取得
https://api.binance.com/api/v3/account
ブラウザで直接 URL を入力しても当然だが取得できない。PHP で認証をパスしつつ情報を取得するコード。
<?php
$apiKey = “xxxxxxxxxxxxxxxxxxx”;
$secretKey = “xxxxxxxxxxxxxxxxxxx”;
$opt = array(
“http” => array(
“method” => “GET”,
“ignore_errors” => true,
“header” => “User-Agent: Mozilla/4.0 (compatible; PHP Binance API)\r\nX-MBX-APIKEY: {$apiKey}\r\n”
)
);
$context = stream_context_create($opt);
$params[‘timestamp’] = number_format(microtime(true)*1000,0,’.’,”);
$query = http_build_query($params, ”, ‘&’);
$signature = hash_hmac(‘sha256’, $query, $secretKey);
$endpoint = ‘https://api.binance.com/api/v3/account?’.$query.’&signature=’.$signature;
echo file_get_contents($endpoint, false, $context);
?>
javascript で直接自作 html ページからこの情報を取得しようとしてもクロスドメインアクセスセキュリティによって不可能。よって一旦 PHP 等にてプロクシを介する構造を構築しないといけない。