見出し画像

J-Quants API ベータ版を使ってみて

APIに渡す引数の書式が色々

サンプルコードはcurlとpythonが用意されていて、便利でした。私自身はpythonしか使っていませんが、サンプルコードを繋ぐだけで概ね作成できました。簡単で良いですね。

引っかっかった点は、リフレッシュトークン取得、IDトークン取得、銘柄情報取得で、各々取得のコードが違うことです。


リフレッシュトークン取得API

import requests
import json

data={"mailaddress":"<YOUR EMAIL_ADDRESS>", "password":"<YOUR PASSWORD>"}
r_post = requests.post("https://api.jpx-jquants.com/v1/token/auth_user", data=json.dumps(data))
r_post.json()


IDトークン取得 API

import requests
import json

REFRESH_TOKEN = "YOUR refreshtokenID"
r_post = requests.post(f"https://api.jpx-jquants.com/v1/token/auth_refresh?refreshtoken={REFRESH_TOKEN}")
r_post.json()


銘柄情報 API

import requests
import json

idToken = "YOUR idToken"
headers = {'Authorization': 'Bearer {}'.format(idToken)}
r = requests.get("https://api.jpx-jquants.com/v1/listed/info", headers=headers)
r.json()

request.post()、requext.get() は基本的に同じなのですが、かっこの中は違っています。共通化して頂けると助かります。

返り値は、json形式で共通なのですから、引数の渡しもjson形式で渡すだけが良いです。
IDトークン取得 APIのサンプルコードようにテキストを繋げて送るだけの形が、個人的にはベタで分かり易く使い易いです。
pythonのrequestsのような便利なパッケージが無い言語でもjson形式で渡すだけならばコードが書き易いです。
まあ、私がhttpを理解すればいいだけなのですが(笑

APIの仕様書

仕様自体ではなく「仕様書ページの見方」で引っ掛かってしまいました。

説明ページで仕様は「各メソッドの横にある”>”マークを押して詳細を展開」と書いてあり、メソッドの右横に”>”マークが在りました。

しかし、実際のメソッドの表示は、右に何もありませんでした。??です。


仕様書無し?
iPhonのようなAPIを目指してる?
さすがFinTechは凄いね!!
と素直に感心してしまいました。

なので仕様書が無いものと思いこんでコーディングしていました。
仕様書無しにするくらいだからそんなに複雑なエラー処理も必要ない構造なのだろうと推定し、簡単なトライアンドエラーでコードを書いていました。

そして今日、メソッドの左側のPOSTやGETの色付きマークの更に左に”>”が在るの分かりました。今まで単なるデザインだと思っていました。
これを押すと仕様書が表示されました。「仕様書レスAPI、すごいな!」と思っていたのでヘナヘナです(笑

確かに説明ページは「各メソッドの横にある」とだけ書いてあり、右も左も書いてありません。確かに「左」横に”>”は在りました。
説明に囚われずに素直に画面を観察しましょう、自分!ですね(笑

これなら”>”という文字記号ではなく「仕様」ボタンとかにしてあれば間違いが少ないのに!と思ってしまいました。


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