第8回目の本記事では、認証情報を設定して口座残高を取得していきたいと思います。Keyの取得と設定ファイルの準備をしよう!前回取得しておいたアクセスキーとシークレットキーを使ったAPIへのアクセスは少し難しいです。この記事を読めば、問題なく実装できるようになります。一緒に頑張っていきましょう!※Coincheckアカウントを持っていないと、この先には進めません。認証情報を設定して口座残高を取得してみよう!今回は第6回目の記事で使っていた、以下のコードを編集していきます。URLの変更まずはアクセス先のURLを変更してきましょう。口座残高を取得するためのエンドポイントは/api/accounts/balanceになります。このAPIを使うにあたりparamsは必要ありません。削除しておきましょう。コードとしては以下になります。認証に必要な情報の確認URLを設定したあとrequestsでアクセスする流れは、これまでと同じですね。この状態でAPIにアクセスすると、どうなるのでしょうか。Keyが必要なことは分かっているのですが、いったんPythonファイルを実行してみましょう。False}このように「認証に失敗しました」とエラーが出力されます。認証情報を送らないといけないわけですね。いうわけでrequestsするときに、あわせて認証情報を送るようにしましょう。公式ドキュメントを確認してみると、認証で必要なものが書かれています。書いてあって難しいですが、結局必要になるのは以下の3点です。SIGNATURE”は作成が難しいので、一緒に頑張っていきましょう。Keyの読み込みまずは認証で必要になる「アクセスキー」と「シークレットキー」を読み込みます。これは前回の記事で作成したのでコピペするだけです。Keyの取得と設定ファイルの準備をしよう!コード全体は以下のようになります。Keyを読み込めました。NONCEを作成します。NONCEとは何か」と言うと、それは公式ドキュメントで以下のように書かれています。毎リクエストごとに増加する必要のある正の整数。通常はUNIXタイムスタンプを用います。APIキーごとに管理されます。これでは何を言っているのか分かりません。NONCEにしてくれ」という意味です。UNIXスタンプはtimeをインポートしてtime.time()を使えば作成できます。Pythonの対話シェルで確認してみましょう。time.time()1613174040.209963このように大きな数字が出力されるはずです。今回は、このUNIXスタンプを「正の整数」にする必要があるので、int()を使って型変換(キャスト)しましょう。SIGNATURE”でも使うので、さらにstr()でキャストしておきます。コード全体としては以下になります。NONCEの設定は完了です。SIGNATUREを作成するだけです。SIGNATUREは以下のように作成するよう言われています。hash形式でシークレットキーを使って署名した結果です。書かれていることを分解してみます。hash形式でシークレットキーを使って署名1は「文字列を作成すれば良いのかな...」と、なんとなく理解できると思います。これはもはや何を言っているのか分かりません!このあたりは、かなり難しい内容になってきます。SIGNATUREの作成は、あまり細かいことを気にせずコードで書いてみましょう。リクエストボディを連結した文字列」を作成していきます。そのためには以下のようにコードを書けば良いですね。bodybodyはすぐに使わないので今は空で大丈夫です。hash形式でシークレットキーを使って署名」していきます。これに関しては、先にコードを見てしまいましょう。hash形式でシークレットキーを使って署名」しています。この中身を理解するには、色々な周辺知識が必要になってきます。今は「このように書けば良いんだな〜」と把握しておきましょう。コード全体を載せておくと、以下のようになります。ヘッダー設定とAPIへのアクセス最後に、ここまで作成した情報をリクエスト時に渡してあげましょう。Headerに渡せば良いことが分かります。Headerを設定するには、requests.get()のカッコ内で引数headerに辞書を渡すだけです。コードに落とし込むと以下のようになります。headers=headers)このように書くことで、認証情報を渡しつつリクエスト送信できます。これでコードの作成は完了です。コード全体としては、以下のようになります。上記のコードが書かれたPythonファイルを実行すると、以下のように通貨ごとの残高を取得できます。True,}‘btc’がビットコインで、’jpy’が日本円です。Coincheckでは色々な通貨を取り扱っていますが、API経由で取引できる以下の4通貨だけです。モナコイン色々な通貨の残高を取得できますが、自動売買を実装するだけなら、上記の4通貨だけ確認すれば良いと思います。認証情報を設定して口座残高を取得してみよう!というわけで、今回は認証情報を作成して口座残高を取得しました。認証情報の作成は少し難しかったと思います。今回学んだことは、他のAPIを使うときも応用できます。いう意味では勉強になったはずです。次の記事では、いよいよプログラムからビットコインを購入してみます。次回の実装ができれば、あとはロジックを組むだけで自動売買できるようになります。第9回目の本記事では、Pythonを使ってビットコインを指値注文してみたいと思います。寄稿、記事の掲載依頼はお問い合わせページからお願い致します。当サイトで使用する「仮想通貨」とは、「暗号資産」のことを指します。当サイトで使用する「仮想通貨」とは「暗号資産」のことを指します。当サイトで掲載している情報に基づいて被ったいかなる損害についても、運営者及び情報提供者は一切の責任を負いません。保証されたものではありません。