[メモ]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

この記事が気に入ったらサポートをしてみませんか?