반응형
Python으로 내 업비트 계좌를 조회하는 스크립트를 만들겠습니다. 먼저 업비트 Open API 관리에 들어가서 API Key를 발급받아야 합니다.
그리고 아래 스크립트를 accounts.py라는 파일에 저장합니다.
# accounts.py
import jwt
import hashlib
import os
import requests
import uuid
from urllib.parse import urlencode, unquote
# 원래 환경변수는 다른 곳에 저장
os.environ['UPBIT_OPEN_API_ACCESS_KEY'] = 'access key'
os.environ['UPBIT_OPEN_API_SECRET_KEY'] = 'secret key'
os.environ['UPBIT_OPEN_API_SERVER_URL'] = 'https://api.upbit.com'
access_key = os.environ['UPBIT_OPEN_API_ACCESS_KEY']
secret_key = os.environ['UPBIT_OPEN_API_SECRET_KEY']
server_url = os.environ['UPBIT_OPEN_API_SERVER_URL']
payload = {
'access_key': access_key,
'nonce': str(uuid.uuid4()),
}
jwt_token = jwt.encode(payload, secret_key)
authorization = 'Bearer {}'.format(jwt_token)
headers = {
'Authorization': authorization,
}
params = {}
res = requests.get(server_url + '/v1/accounts', params=params, headers=headers)
res.json()
print(res.json())
accounts.py 스크립트를 실행시킵니다.
python3 accounts.py
제 (비루한) 계좌의 정보가 json 형태로 들어옵니다.
[{'currency': 'KRW', 'balance': '0.94195857', 'locked': '0', 'avg_buy_price': '0', 'avg_buy_price_modified': True, 'unit_currency': 'KRW'}, {'currency': 'TRX', 'balance': '0.00000088', 'locked': '0', 'avg_buy_price': '81.2', 'avg_buy_price_modified': False, 'unit_currency': 'KRW'}, {'currency': 'APENFT', 'balance': '0.00004803', 'locked': '0', 'avg_buy_price': '0', 'avg_buy_price_modified': False, 'unit_currency': 'KRW'}, {'currency': 'SOLO', 'balance': '14.45655387', 'locked': '0', 'avg_buy_price': '0', 'avg_buy_price_modified': False, 'unit_currency': 'KRW'}]
반응형
'ETC 코딩 > PYTHON' 카테고리의 다른 글
[Python] datetime.date 형식 변환하기 (0) | 2022.09.21 |
---|---|
[Python] add months 함수 만들기 (0) | 2022.09.21 |
pip3 version upgrade하기 (0) | 2022.08.28 |