
업비트 개발자 모드에서 해당 코드를 실행했는데 잘 실행 되지 않았다.
다름아니라 해당문제는 encoding문제인거 같다.
windows 에서 실행했을 때 jwt.encode(payload, secret_key)를 사용했을 때 해당 내용은 string으로 나왔다.
하지만 결과가 나타나지 않아서 실행을 못했는데, 서버에서 실행해보니 bytes로 나타났다.
그래서 해당 문제를 해결하기 위해서 아래와 같이 바꾸어 적용하니 잘 적용이 되었다.
# windows
import os
import jwt
import uuid
import hashlib
from urllib.parse import urlencode
import requests
access_key = ''
secret_key = ''
server_url = 'https://api.upbit.com'
payload = {
'access_key': access_key,
'nonce': str(uuid.uuid4()),
}
jwt_token = bytes(jwt.encode(payload, secret_key),'utf-8').decode('utf8')
authorize_token = 'Bearer {}'.format(jwt_token)
headers = {"Authorization": authorize_token}
res = requests.get(server_url + "/v1/accounts", headers=headers)
print(res.json())
#ubuntu
import os
import jwt
import uuid
import hashlib
from urllib.parse import urlencode
import requests
access_key = ''
secret_key = ''
server_url = 'https://api.upbit.com'
payload = {
'access_key': access_key,
'nonce': str(uuid.uuid4()),
}
jwt_token = jwt.encode(payload, secret_key).decode('utf8')
authorize_token = 'Bearer {}'.format(jwt_token)
headers = {"Authorization": authorize_token}
res = requests.get(server_url + "/v1/accounts", headers=headers)
print(res.json())