[メモ]ByBitのAPIをPowerShellで呼び出す(約定履歴)
# キーを元にメッセージをHMAC SHA-256で暗号化する
function Sign-hmacSha256($key,$message){
$encoder = New-Object System.Security.Cryptography.HMACSHA256
$encoder.key = [Text.Encoding]::UTF8.GetBytes($key)
$sign = ($encoder.ComputeHash([Text.Encoding]::UTF8.GetBytes($message)) | %{ $_.ToString("x2") }) -join ""
return $sign
}
# 定数
$endpoint = "https://api.bybit.com"
$path = "/v2/private/execution/list"
$apiKey = "{api key}"
$secretKey = "{secret key}"
# UTCのミリ秒
$timestamp = [DateTimeOffset]::UtcNow.ToUnixTimeMilliseconds().toString()
# パラメーター
$params = @{
"api_key"=$apiKey;
"symbol"="BTCUSD";
"timestamp"=$timestamp;
"limit"=200;
}
# パラメーターをアルファベット順にクエリ文字列に変換する。
$queryString = ($params.Keys | Sort-Object | %{ $_ + "=" + $params[$_]}) -join "&"
# クエリ文字列をHMAC SHA-256で暗号化
$sign = Sign-hmacSha256 -key $secretKey -message $queryString
# URLを作る末尾
$url = "$endpoint${path}?$queryString&sign=$sign"
# API呼び出し
$res = curl -Uri $url
この記事が気に入ったらサポートをしてみませんか?