先回は「Python」を使って仮想通貨取引所「CoinCheck」の最新情報をAPIで取得しました。今回は、Private APIで取引所の残高などを取得してみます。
Private API
仮想通貨取引所「Coincheck」のAPIには、最新の取引状況を取得するための「Public」と、開設アカウントに関する、残高や取引履歴などを取得する「Private」の2種類があります。
Pythonを利用した「Public API」については別記事をご覧ください。
APIキーが必要
アカウントに関するPrivate APIを利用して情報を取得するには、「アクセスキー」と「シークレットキー」という2種類のキーを、Coincheckサイトの設定画面で、取得しておく必要があります。
詳しい取得方法については別記事をご覧ください。
CoinCheck APIを使うアプリ作成
1.「新しいプロジェクトの作成」で「IronPython アプリケーション」を選んで作成します。
2. ソースコードファイル(拡張子.py)に次のようなコードを追加します。
import json
import requests
import time
import hmac
import hashlib
class CCoincheck:
def __init__(self, access_key, secret_key):
self.access_key = access_key
self.secret_key = secret_key
def get(self, uri):
nonce = str(int(time.time()))
message = nonce + uri
signature = self.getSignature(message)
headers = self.getHeader(self.access_key, nonce, signature)
response = requests.get(uri, headers=self.getHeader(self.access_key, nonce, signature)).json()
return response
def getSignature(self, message):
signature = hmac.new(bytes(self.secret_key.encode('ascii')), bytes(message.encode('ascii')), hashlib.sha256).hexdigest()
return signature
def getHeader(self, access_key, nonce, signature):
headers = {
'ACCESS-KEY': access_key,
'ACCESS-NONCE': nonce,
'ACCESS-SIGNATURE': signature,
'Content-Type': 'application/json'
}
return headers
今回は、後で再利用できるようにクラスとして定義をしています。
3. 取得したAPIキーをを使って、実際に呼び出すコードを追加します。
access_key = '取得したAPIキーのアクセスキー部分'
secret_key = '取得したAPIキーのシークレットキー部分'
url = 'https://coincheck.com/api/accounts/balance'
cc = CCoincheck(access_key, secret_key)
result = cc.get(url)
print(result)
4.「デバッグ|デバックの開始」メニューで実行します。
5. APIキーで認証されたアカウント内の残高などが取得されます。
取得された値の詳細はコインチェックの公式ドキュメントをご覧ください。
まとめ
アカウントの認証に必要な「APIキー」を取得しておけば、Visual Studioの「Python」プロジェクトから、かなり簡単に必要なデータを取得してくることが可能でした。
次回は取得された値は他のPrivateなAPIを使って取引プログラムの開発に関する記事を追加していきます。
スポンサーリンク
最後までご覧いただき、ありがとうございます。