PowerShellでbitFlyerのマーケットの一覧を取得・getmarkets †
当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。
当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。
あらかじめご了承ください。
PowerShellを使ってbitFlyerのマーケットの一覧APIの使用例を以下に記します。
関連記事 †
マーケットの一覧APIの仕様など †
HTTP Public APIなのでbitFlyerに取引口座を開設していなくても使用することができます。
マーケットの一覧API仕様(bitFlyer APIページから抜粋)
- リクエスト
GET /v1/getmarkets
GET /v1/markets
- レスポンス
[
{ "product_code": "BTC_JPY" },
{ "product_code": "FX_BTC_JPY" },
{ "product_code": "ETH_BTC" },
{
"product_code": "BTCJPY28APR2017",
"alias": "BTCJPY_MAT1WK"
},
{
"product_code": "BTCJPY05MAY2017",
"alias": "BTCJPY_MAT2WK"
}
]
alias: 以下の呼出で product_code を指定するときに、代わりに使用できます。
ブラウザでマーケットの一覧(getmarkets)を取得する †
GETなのでブラウザでマーケットの一覧を取得することができます。
以下のようなURLになります。
https://api.bitflyer.jp/v1/getmarkets
ブラウザでマーケットの一覧APIにアクセスした結果 †
以下ブラウザから上記URLにアクセスしたときの出力です。
FirefoxではJSONが整形され表示されています。
見やすいですね。
(生データをクリックすると上記同様にJSON形式の返却された文字列が表示されます。)
Invoke-RestMethodコマンドレットでbitFlyerのマーケットの一覧を取得する †
- マーケットの一覧を取得するURL(API)を設定します。
PS C:\> $markets_api = "https://api.bitflyer.jp/v1/getmarkets"
- Invoke-RestMethodコマンドレットを使用し、返却された情報を$markets変数に代入します。
$markets = Invoke-RestMethod -UseBasicParsing -Uri $markets_api
- 取得したマーケットの一覧を表示しています。
PS C:\> $markets
product_code
------------
BTC_JPY
FX_BTC_JPY
ETH_BTC
BCH_BTC
BTCJPY29JUN2018
BTCJPY18MAY2018
BTCJPY25MAY2018
- 取得した$markets変数にアクセスしてみます。
PS C:\> $markets[0]
product_code
------------
BTC_JPY
PS C:\> $markets[1]
product_code
------------
FX_BTC_JPY
PS C:\> $markets.Count
7
HTTPステータスなどを一緒に取得したい場合 †
上記では、Invoke-RestMethodにてJSONをPowerShellで扱いやすい状態に変換してくれます。
しかし、Webサーバから返却された値を変換せず、取得後JSONを別のコマンドレットで変換する操作手順を以下に記します。
- マーケットの一覧を取得するURLを設定します。
PS C:\> $markets_api = "https://api.bitflyer.jp/v1/getmarkets"
- Invoke-WebRequestコマンドレットでサーバからのレスポンスを$resに格納します。
PS C:\> $res = Invoke-WebRequest -UseBasicParsing -Uri $markets_api
- 取得したレスポンスは以下の通りです。
PS C:\> $res
StatusCode : 200
StatusDescription : OK
Content : [{"product_code":"BTC_JPY"},{"product_code":"FX_BTC_JPY"},{"product_code":"ETH_BTC"},{"product_code
":"BCH_BTC"},{"product_code":"BTCJPY29JUN2018","alias":"BTCJPY_MAT3M"},{"product_code":"BTCJPY18MAY
20...
RawContent : HTTP/1.1 200 OK
Connection: keep-alive
Pragma: no-cache
Request-Context: appId=cid-v1:e4fbc941-a2df-48ac-bbac-f2180e904002
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Frame...
Forms :
Headers : {[Connection, keep-alive], [Pragma, no-cache], [Request-Context, appId=cid-v1:e4fbc941-a2df-48ac-bb
ac-f2180e904002], [X-Content-Type-Options, nosniff]...}
Images : {}
InputFields : {}
Links : {}
ParsedHtml :
RawContentLength : 288
- HTTPステイタスを取得しています。
PS C:\> $res.StatusCode
200
- Contentに取得した情報が格納されています。
PS C:\> $json = ($res.Content | ConvertFrom-Json)
PS C:\> $json
product_code
------------
BTC_JPY
FX_BTC_JPY
ETH_BTC
BCH_BTC
BTCJPY29JUN2018
BTCJPY18MAY2018
BTCJPY25MAY2018
以上、PowerShellを使って、bitFlyerのマーケットの一覧を取得・getmarketsからの返却値を表示する方法でした。