#author("2019-07-09T22:59:21+09:00","","") #author("2019-07-09T23:14:51+09:00","","") #navi(../) * Bash(curl+jq)によるGMOコインのティッカーAPI呼び出し(Bash) [#r1c367d2] &color(red){当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。&br;当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。&br;あらかじめご了承ください。}; シェルスクリプト(bash + curl + jq)を使ってGMOコインの[[最新レート>https://api.coin.z.com/docs/#ticker]]APIの使用例を以下に記します。~ 以下、実行時のアニメーションGIFです。 #ref(ticker_s.gif) #htmlinsert(cc-top.html) #contents * 動作環境 [#iae8c881] bashが動作し、curlとjqコマンドをインストールすれば動作します。~ Ubutnu系であれば、以下のコマンドでインストールすることができます。 sudo apt install jq curl CentOSであれば、以下のコマンドになります。 sudo yum -y install epel-release sudo yum -y install jq * 最新レートのAPI仕様(GMOコインAPIページから抜粋) [#q52acc26] 最新レートのAPI仕様~ https://api.coin.z.com/docs/#ticker - ''最新レート'' 指定した銘柄の最新レートを取得します。~ 全銘柄分の最新レートを取得する場合はsymbolパラメータ指定無しでの実行をおすすめします。~ -''Request'' GET /public/v1/ticker -''Parameters''~ Parameter type: query |''Parameter''|''Type''|''Required''|''Available Values''| |symbol|string|optional|指定しない場合は全銘柄分の最新レートを返す。&br;BTC ETH BCH LTC XRP BTC_JPY ETH_JPY BCH_JPY LTC_JPY XRP_JPY| -''Response'' |''Property Name''|''Value''|''Description''| |list.volume|string|24時間の取引量| * BTCを最新レートを取得するシェルスクリプト [#vac62c6e] 以下のシェルスクリプトは、BTCの最新レートを取得するコードとなります。~ symbol='BTC'を他の仮想通貨に変えれば、BTC以外も取得することができます。 ''symbol='BTC'を他の仮想通貨シンボルに変えれば、BTC以外も取得することができます。'' #ref(ticker.sh) #!/bin/bash # GMO COIN Tiker API Sample # https://api.coin.z.com/docs/#ticker endPoint='https://api.coin.z.com/public' path='/v1/ticker' symbol='BTC' #curl -Ss ${endPoint}${path} --get --data "symbol=${symbol}" | jq list=($( curl -Ss ${endPoint}${path} --get --data "symbol=${symbol}" \ | jq '.data[]' \ | jq -r '.symbol, .ask, .bid, .high, .last, .low, .volume, .timestamp')) echo ${list[0]} echo ' ask bid high last low volume' echo -------- -------- -------- -------- -------- ---------- printf '%8d %8d %8d %8d %8d %f\n' \ ${list[1]} ${list[2]} ${list[3]} ${list[4]} ${list[5]} ${list[6]} #echo ${list[7]} ** 実際に操作させたときの出力 [#r097c2f9] 実際に動作させたときの出力です。 +本シェルスクリプトに実行属性を与えます。 $ chmod +x ticker.sh +スクリプトを実行します。 $ ./ticker.sh BTC ask bid high last low volume -------- -------- -------- -------- -------- ---------- 1349999 1349291 1394681 1349291 1317000 1120.053700 ** Watchコマンドを使って定期的に価格を確認する [#v845e4c8] watchコマンドを使うと定期的に上記のスクリプトを起動し画面に出力してくれます。~ 本資料では、watchコマンドに2つのオプションを渡し動作させてみます。 |-d|前回と異なる部分が反転表示される| |-n|指定した秒数ごとに実行する(インターバル)| 以下のように実行しました。~ 尚、停止は Ctrl+C となります。 watch -n 1 -d ./ticker.sh 以下、3秒おきのキャプチャGIFアニメーションにしました。~ 尚、symbol=BTC_JPYに変えて実行しました。 #ref(ticker.gif) 以上、シェルスクリプトでGMOコインの最新レートを取得するサンプルスクリプトでした。 #htmlinsert(cc-btm.html)