token.pyのソースコード
import urllib.request
import json
import pprint
import sys
import register
import settings
obj = { 'APIPassword': settings.apiPassword }
json_data = json.dumps(obj).encode('utf8')
url = 'http://localhost:' + settings.port + '/kabusapi/token'
req = urllib.request.Request(url, json_data, method='POST')
req.add_header('Content-Type', 'application/json')
try:
print('###token')
with urllib.request.urlopen(req) as res:
print(res.status, res.reason)
for header in res.getheaders():
print(header)
print()
content = json.loads(res.read())
pprint.pprint(content)
token = content["Token"]
settings.token = token
#PUSh配信銘柄登録
register.register()
except urllib.error.HTTPError as e:
print(e)
content = json.loads(e.read())
pprint.pprint(content)
except Exception as e:
print(e)
ほぼ、kabuステーション公式のサンプルそのままです。
kabusapi/sample/Python/kabusapi_token.py at master · kabucom/kabusapi
kabuステーションAPI ポータル. Contribute to kabucom/kabusapi development by creating an account on GitHub.
詳細説明
ポイントは以下の2つです。
トークンをグルーバル変数格納用モジュール(setting.py)に格納
rsi1570_settings.token = token
前の投稿でも書きましたが、取得したトークンをグルーバル変数格納用モジュール(setting.py)に格納して、以降のすべてのWebAPI呼び出しで使用するようにします。
数珠繋ぎ方式で次のWebAPI呼び出しにつなげる
rsi1570_register.register()
これも別の投稿で書いた、「数珠繋ぎ方式」によって、処理がうまく行った場合のみ次のWebAPI呼び出しを行います。何らかのエラーが発生した場合は、ログを出力してそのまま処理を終了します。
コメント