やりたいこと
pythonプログラムから、binanceのアカウントへアクセスしたい
本稿の投稿経緯
pythonからのAPI利用時にエラーにつかまったので、python,binance両面からやり方をメモ
事象
APIをつかってアクセスしようとしたら以下のエラーにつかまった。
以下の2つのどっちかに該当するようだ。
- APIキーないしはシークレットキーのset誤り
- 許可されたIPアドレス外からのアクセス
APIError(code=-2015): Invalid API-key, IP, or permissions for action.
python側のコード
以下のようにAPIキーとsecretキーをbinanceのclientモジュールにsetしている。
特に問題はなかった
from binance.client import Client
class BinanceAPI:
def __init__(self):
API_KEY=r'XXXXX'
API_SECRET=r'XXXX'
self.client=Client(API_KEY, API_SECRET)
エラーをはいたのは以下のUSDT通貨の資産状況の表示の箇所
binance_set = BinanceAPI()
asset = binance_set.get_asset('USDT')
print()
Binance側の設定
API KeyとSecretKeyは正しい値で、IPアドレスも自環境のIPを許可していた。(マスキングしている箇所)
実は0.0.0.0というIPはデフォルトでセットされているのだが、自分は、削除した上で、自環境のIPのみを許可していた。これが原因で、不正なIP扱いとなった。(画像は修正後のもの)
正しく設定し、無事動作