ゆとり世代の自由研究

勉強が一生終わりません

J-Quantsに接続する

J-Quantsに接続する方法

別途、"jquants-api.toml"に"mailadress"と”pasword”を設定します。

#%%
#@title 初期設定&各種import
#@markdown ←にある▶ボタンを押すとGoogle Colabでコードを実行することができます。

#@markdown まずはこちらのコードを実行し、J-Quants APIを利用するため必要なパッケージをimportしましょう。

import json
import sys
import requests

from IPython.display import display
import pandas as pd

pd.set_option("display.max_columns", None)

# %%
#@title 作成した設定ファイルを読み込み、リフレッシュトークン及びidTokenを取得
#@markdown 正しく設定ファイルが作成されていれば、本コードを実行することで、idTokenを取得することができます。
#@markdownAPIを使用する準備が完了しました。」と出力されれば、されれば、J-Quants APIをコールすることができるようになります!

if sys.version_info >= (3, 11):
    import tomllib
else:
    import tomli as tomllib
   
config_path = ("jquants-api.toml")

with open(config_path, mode="rb") as f:
    ret = tomllib.load(f)["jquants-api-client"]

USER_DATA = {k: v for k, v in ret.items()}

# refresh token取得
try:
  res = requests.post(f"{API_URL}/v1/token/auth_user", data=json.dumps(USER_DATA))
  refresh_token = res.json()['refreshToken']
except:
  print("RefreshTokenの取得に失敗しました。")
else:
  # id token取得
  try:
    res = requests.post(f"{API_URL}/v1/token/auth_refresh?refreshtoken={refresh_token}")
    id_token = res.json()['idToken']
  except:
    print("idTokenの取得に失敗しました。")
  else:
    headers = {'Authorization': 'Bearer {}'.format(id_token)}
    print("API使用の準備が完了しました。")

 

このコードは、J-Quants APIを使用するための初期設定と各種ライブラリのインポートを行っています。以下にコードの意味を説明します。

  1. ライブラリのインポート:

    • json: JSONデータの処理を行うためのライブラリです。
    • sys: システムパラメータと関数を扱うためのライブラリです。
    • requests: HTTPリクエストを送信するためのライブラリです。
    • IPython.display: IPython環境での表示に関する機能を提供するライブラリです。
    • pandas: データ解析や処理を行うためのライブラリです。
  2. J-Quants APIのURL設定:

    makefile
    API_URL = "https://api.jquants.com"
  3. 設定ファイルの読み込みとトークンの取得:

    • 設定ファイルである jquants-api.toml を読み込みます。
    • 読み込んだ設定ファイルから必要なデータを取得し、USER_DATA 辞書に格納します。
  4. リフレッシュトークンの取得:

    • J-Quants APIに対してユーザー認証を行い、リフレッシュトークンを取得します。
  5. IDトークンの取得:

    • 取得したリフレッシュトークンを使用して、IDトークンを取得します。
  6. API使用の準備完了:

    • IDトークンが取得できた場合は、APIの利用準備が完了したことを表示します。

このコードは、J-Quants APIを使用するために必要な認証情報を取得し、APIの利用準備を整えるための手順を実行しています。