single.php

Pythonを使ってCoinCheck APIで取引所の残高を取得する

先回は「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を使って取引プログラムの開発に関する記事を追加していきます。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です