このエントリーをはてなブックマークに追加


PowerShellによるGMOコインのティッカーAPI呼び出し(PowerShell)

当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。
当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。
あらかじめご了承ください。


PowerShellを使ってGMOコインの最新レートAPIの使用例を以下に記します。


スポンサーリンク

最新レートのAPI仕様(GMOコインAPIページから抜粋)

最新レートのAPI仕様
https://api.coin.z.com/docs/#ticker

  • 最新レート 指定した銘柄の最新レートを取得します。
    全銘柄分の最新レートを取得する場合はsymbolパラメータ指定無しでの実行をおすすめします。
  • Request GET /public/v1/ticker
  • Parameters
    Parameter type: query
    ParameterTypeRequiredAvailable Values
    symbolstringoptional指定しない場合は全銘柄分の最新レートを返す。
    BTC ETH BCH LTC XRP BTC_JPY ETH_JPY BCH_JPY LTC_JPY XRP_JPY
  • Response
    Property NameValueDescription
    list.volumestring24時間の取引量

全ての最新レートを取得し表示するスクリプト

最新レートAPIが対応しているSymbolのレートをすべて取ってきて表示します。
Private APIの呼出上限が最大300ミリ秒1回という制限があるので、500ミリ秒ごとに取得するサンプルとなっています。

function Get-GMOCoinTicker {
  $endPoint = "https://api.coin.z.com/public"
  $path = "/v1/ticker"
  $symbols = ("BTC","ETH","BCH","LTC","XRP","BTC_JPY","ETH_JPY","BCH_JPY","LTC_JPY","XRP_JPY")
  $ary = @()
  foreach($symbol in $symbols) {
    $uri = $endPoint + $path + "?symbol=" + $symbol
    $res = Invoke-RestMethod -UseBasicParsing -Uri $uri
    # debug
    # $res
    Write-Host -NoNewline "."
    Start-Sleep -m 500
    $ary += $res.data
  }
  $ary | Select-Object symbol, ask, bid, high, last, volume, timestamp | Format-Table
}

上記の関数を実際に実行したときの出力になります。

PS C:\> Get-GMOCoinTicker
..........
symbol  ask     bid     high    last    volume  timestamp               
------  ---     ---     ----    ----    ------  ---------               
BTC     1211265 1210510 1240000 1211265 488.754 2019-07-07T08:19:21.428Z
ETH     31234   31120   31652   31268   1122.42 2019-07-07T08:19:22.786Z
BCH     43660   43650   44500   43755   139.18  2019-07-07T08:19:23.166Z
LTC     12848   12800   12890   12864   1046.6  2019-07-07T08:19:24.018Z
XRP     42.665  42.382  43.2    42.672  2853780 2019-07-07T08:19:24.201Z
BTC_JPY 1211127 1210162 1243172 1210582 5877.37 2019-07-07T08:19:24.289Z
ETH_JPY 31200   31139   31645   31245   1044.1  2019-07-07T08:19:25.865Z
BCH_JPY 43614   43565   44709   43699   410.9   2019-07-07T08:19:25.982Z
LTC_JPY 12833   12810   12908   12846   1154    2019-07-07T08:19:26.584Z
XRP_JPY 42.6    42.5    43.22   42.59   6370600 2019-07-07T08:19:26.705Z

本関数で使用している最新レートAPI呼び出しコマンドレットについて以下で説明しています。

PowerShellコマンドラインで最新レート(ティッカー)APIを呼び出してみる

Invoke-WebRequestコマンドレットとConvertFrom-Jsonコマンドレットまたは、Invoke-RestMethodコマンドレット単コマンドで簡単に実現できます。
使い分けとしては、HTTPステータスを取得したい場合などは、Invoke-WebRequestを実行後、HTTPステータスを確認し、ConvertFrom-Jsonコマンドレットを使用すれば良いと思います。
JSON化された情報の取り出しだけであれば、Invoke-RestMethodコマンドレット便利ですね。

Invoke-RestMethodコマンドレット使用例

以下、PowerShellコンソールの出力です。
JSON形式でティッカー情報が取得されているのが確認できます。

PS C:\> $endPoint = "https://api.coin.z.com/public"
PS C:\> $path = "/v1/ticker"
PS C:\> $symbol = "BTC"
PS C:\> $uri = $endPoint + $path + "?symbol=" + $symbol
PS C:\> $res = Invoke-RestMethod $uri
PS C:\> $res

status data
------ ----
     0 {@{ask=1214589; bid=1213198; high=1240000; last=1212888; low=1202868; symbol=BTC; timestamp=2019-07-07T07:58:...


PS C:\> $res.data

ask       : 1214589
bid       : 1213198
high      : 1240000
last      : 1212888
low       : 1202868
symbol    : BTC
timestamp : 2019-07-07T07:58:31.685Z
volume    : 498.9099

Invoke-WebRequest, ConvertFrom-Jsonコマンドレット使用例

Invoke-WebRequestでティッカーAPIを呼び出してみる

以下、PowerShellコンソールの出力です。
JSON形式でティッカー情報が取得されているのが確認できます。

PS C:\> $endPoint = "https://api.coin.z.com/public"
PS C:\> $path = "/v1/ticker"
PS C:\> $symbol = "BTC"
PS C:\> $uri = $endPoint + $path + "?symbol=" + $symbol
PS C:\> $res = Invoke-WebRequest -UseBasicParsing $uri
PS C:\> $res.Content
{"status":0,"data":[{"ask":"1213736","bid":"1213060","high":"1240000","last":"1213500","low":"1202868","symbol":"BTC","timestamp":"2019-07-07T08:03:40.852Z","volume":"492.6736"}],"responsetime":"2019-07-07T08:03:41Z"}
{"last":850808.0,"bid":850763.0,"ask":850987.0,"high":875000.0,"low":836916.0,"volume":5665.81651804,"timestamp":1524024814}

ConvertFrom-Jsonを使って便利に使う

以下、PowerShellコンソールの出力です。
上記のInvoke-WebRequestで取得したJSON形式のティッカー情報がConvertFrom-Jsonコマンドレットを通すことにより便利に使えます。

PS C:\> $json_res = ($res.Content | ConvertFrom-Json)
PS C:\> $json_res.data


ask       : 1213736
bid       : 1213060
high      : 1240000
last      : 1213500
low       : 1202868
symbol    : BTC
timestamp : 2019-07-07T08:03:40.852Z
volume    : 492.6736

以上、GMOコインの銘柄の最新レートを取得するAPIをPowerShellで操作する記事でした。


スポンサーリンク

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-07-07 (日) 17:22:48 (16d)