- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2017-11-05T19:50:48+09:00","","")
#navi(../)
* zaifのcurrencies・通貨情報を取得APIのサンプルコード(PHP) [#x1b01789]
&color(red){当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。&br;当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。&br;あらかじめご了承ください。};
----
PHPを使って&htmlinsert(zaif.html);の[[currencies・通貨情報を取得API>http://techbureau-api-document.readthedocs.io/ja/latest/public/2_individual/1_currencies.html]]APIの使用例を以下に記します。
#contents
----
以下のバナーは&htmlinsert(zaif.html);へのリンクです。~
#htmlinsert(zaif_banner.html)
* 関連記事 [#e4f0c6fe]
-[[API動作環境構築>API/環境構築]]
-[[currencies・通貨情報の取得(PHP)>API/zaif/currencies(PHP)]]
* ブラウザで板情報APIを呼び出してみる [#a13b8110]
公開APIなので&htmlinsert(zaif.html);に取引口座を開設していなくても使用することができます。
「currencies・通貨情報を取得」API仕様(Zaif APIページから抜粋) ~
http://techbureau-api-document.readthedocs.io/ja/latest/public/2_individual/1_currencies.html
currencies
通貨情報を取得します。
リクエスト
/currencies/{currency}
例. https://api.zaif.jp/api/1/currencies/btc
パラメータ
なし
戻り値
currencyにallを指定した場合、有効な全ての通貨情報を取得します。
currencies APIを試してみた結果、136件返却されましたのでサンプルコードでは整形して一覧を表示するようにしています。~
* ブラウザで板情報を取得する [#x7b6f948]
GETなのでブラウザで板情報を取得することができます。~
以下は{currency]にallを指定しています。~
https://api.zaif.jp/api/1/currencies/all
* ブラウザで板情報APIにアクセスした結果 [#m5c4ed04]
以下ブラウザから上記URLにアクセスしたときの出力です。
-Firefox ver56.0~
JSONが整形され表示されています。~
見やすいですね。~
(生データをクリックすると上記同様にJSON形式の返却された文字列が表示されます。)
#ref(01.png)
----
以下のバナーは&htmlinsert(zaif.html);へのリンクです。~
#htmlinsert(zaif_wide.html)
* PHPで「currencies・通貨情報を取得」APIを呼び出してみる(サンプルコード) [#c99023c7]
PHPのサンプルコードは以下のようになります。
#ref(currencies.php.zip)
<?php
// API doc : http://techbureau-api-document.readthedocs.io/ja/latest/public/2_individual/1_currencies.html
// API url : https://api.zaif.jp/api/1/currencies/{currency}
// currencies api url
$zaif_api_url = "https://api.zaif.jp/api/1/currencies/";
// proxy settings
$proxy = "";
$proxy_port = "";
$curl = curl_init();
if ($curl == FALSE) {
fputs(STDERR, "[ERR] curl_init(): " . curl_error($curl) . PHP_EOL);
die(1);
}
// curl set options
$currency = "all"; // all currencies
curl_setopt($curl, CURLOPT_URL, $zaif_api_url . $currency);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
// set proxy server settings
if (!empty($proxy) && !empty($proxy_port)) {
curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($curl, CURLOPT_PROXY, $proxy . ":" . $proxy_port);
curl_setopt($curl, CURLOPT_PROXYPORT, $proxy_port);
}
// call currencies api
$response = curl_exec($curl);
if ($response == FALSE) {
fputs(STDERR, "[ERR] curl_exec(): " . curl_error($curl) . PHP_EOL);
die(1);
}
// json decode
$json_decode = json_decode($response, true);
if ($json_decode == NULL) {
fputs(STDERR, "[ERR] json_decode(): " . json_last_error_msg() . PHP_EOL);
die(1);
}
curl_close($curl);
// show currencies
//print_r($json_decode);
// sort by id
foreach ($json_decode as $key => $value){
$key_id[$key] = $value['id'];
}
array_multisort ($key_id , SORT_ASC , $json_decode);
// show currencies
printf("id\tname\t\tis_token" . PHP_EOL);
print ("---------------------------------" . PHP_EOL);
foreach ($json_decode as $cur) {
$is_token = "";
if ($cur["is_token"]) { $is_token = "Y"; }
$cur_name = $cur["name"];
if (strlen($cur["name"]) < 8) { $cur_name = $cur_name . "\t"; }
printf("%d\t%s\t\t%s" . PHP_EOL, $cur["id"], $cur_name, $is_token);
}
exit(0);
* 実行例 [#j891bb8b]
上記のPHPサンプルソースを実行してみます。~
id name is_token
---------------------------------
1 btc
2 xem
3 jpy
4 mona
5 ZAIF Y
6 XCP Y
7 BITCRYSTALS Y
8 SJCX Y
9 MAGATAMAMIJN Y
10 MAGATAMARD Y
11 MAGATAMAYL Y
12 MAGATAMAVT Y
13 MAGATAMAGN Y
14 MAGATAMATQ Y
15 MAGATAMABL Y
16 MAGATAMAWT Y
17 MAGATAMARDON Y
18 MAGATAMARDTW Y
19 MAGATAMARDTH Y
20 MAGATAMARDFR Y
21 MAGATAMARDFV Y
22 MAGATAMARDSX Y
23 MAGATAMARDSV Y
24 MAGATAMAYLON Y
25 MAGATAMAYLTW Y
26 MAGATAMAYLTH Y
27 MAGATAMAYLFR Y
28 MAGATAMAYLFV Y
29 MAGATAMAYLSX Y
30 MAGATAMAYLSV Y
31 MAGATAMAVTON Y
32 MAGATAMAVTTW Y
33 MAGATAMAVTTH Y
34 MAGATAMAVTFR Y
35 MAGATAMAVTFV Y
36 MAGATAMAVTSX Y
37 MAGATAMAVTSV Y
38 MAGATAMAGNON Y
39 MAGATAMAGNTW Y
40 MAGATAMAGNTH Y
41 MAGATAMAGNFR Y
42 MAGATAMAGNFV Y
43 MAGATAMAGNSX Y
44 MAGATAMAGNSV Y
45 MAGATAMATQON Y
46 MAGATAMATQTW Y
47 MAGATAMATQTH Y
48 MAGATAMATQFR Y
49 MAGATAMATQFV Y
50 MAGATAMATQSX Y
51 MAGATAMATQSV Y
52 MAGATAMABLON Y
53 MAGATAMABLTW Y
54 MAGATAMABLTH Y
55 MAGATAMABLFR Y
56 MAGATAMABLFV Y
57 MAGATAMABLSX Y
58 MAGATAMABLSV Y
59 MAGATAMAWTON Y
60 MAGATAMAWTTW Y
61 MAGATAMAWTTH Y
62 MAGATAMAWTFR Y
63 MAGATAMAWTFV Y
64 MAGATAMAWTSX Y
65 MAGATAMAWTSV Y
66 HYOU Y
67 FSCC Y
68 TOREKABUOPT Y
69 NEMCARD Y
70 PACHI Y
71 DJASANYAN Y
72 CHIKARIN Y
73 SANOMAYA Y
74 SATOAYAKA Y
75 TSUKASA Y
76 KAORI Y
77 MIZUKI Y
78 SHIRAHOSHI Y
79 MAMICHANNEL Y
80 HINANOMAI Y
81 RURU Y
82 ICHARLOTTE Y
83 SANOMAYAVIX Y
84 DJASANYANVIX Y
85 CHIKARINVIX Y
86 TSUKASAVIX Y
87 MIZUKIVIX Y
88 SIRAHOSIVIX Y
89 RISAVIX Y
90 BITGIRLSI Y
91 BITGIRLSII Y
92 PEPECASH Y
93 KINOKOUSAKA Y
94 YAMAGUCHIA Y
95 RUMIRUMI Y
96 SHIMARENA Y
97 LEENA Y
98 ITSUKI Y
99 CICC Y
100 XACONE Y
101 XACTWO Y
102 XACTHREE Y
103 XACFOUR Y
104 XACFIVE Y
105 XACSIX Y
106 XACSEVEN Y
107 XACEIGHT Y
108 XACNINE Y
109 KAORIBG Y
110 CHIKARINBG Y
111 SANOMAYABG Y
112 SATOAYAKABG Y
113 DJASANYANBG Y
114 TSUKASABG Y
115 MIZUKIBG Y
116 SHIRAHOSHIBG Y
117 ICHARLOTTEBG Y
118 MAMICHANBG Y
119 HINANOMAIBG Y
120 RURUBG Y
121 KINOBG Y
122 YAMAGUCHIABG Y
123 SHIMARENABG Y
124 RUMIRUMIBG Y
125 ITSUKIBG Y
126 LEENABG Y
129 NCXC Y
130 YOGIBOGOCPON Y
131 YOGIBOGOCPTW Y
132 YOGIBOGOCPTH Y
133 YOGIBOGOCPFR Y
134 YOGIBOGOCPFV Y
135 YOGIBOGOCPSX Y
136 MAGATAMABZ Y
137 JPYZ Y
138 BCH
139 ETH
通貨情報が返却されます。
以上、&htmlinsert(zaif.html);の公開APIである板情報APIのブラウザによるアクセスとPHPによる板情報呼び出しのサンプルコードの記事でした。
----
以下のバナーは&htmlinsert(zaif.html);へのリンクです。~
#htmlinsert(zaif_wide.html)