공홈에는 bcrypt 해싱을 사용한 전자성명 예제만 있고,
인증토큰 발급 요청 예제가 없어서 공유합니다.
version : python 3.7.9
import urllib.request
import urllib.parse
import bcrypt
import pybase64
import time
import requests
def get_bearer_token(client_id, clientSecret, type_="SELF"):
# 3초전 timestamp
timestamp = str(int((time.time()-3) * 1000))
# 밑줄로 연결하여 password 생성
password = client_id + "_" + timestamp
# bcrypt 해싱
hashed = bcrypt.hashpw(password.encode('utf-8'), clientSecret.encode('utf-8'))
# base64 인코딩
client_secret_sign = pybase64.standard_b64encode(hashed).decode('utf-8')
headers = {"content-type": "application/x-www-form-urlencoded" }
data_ = {
"client_id": client_id,
"timestamp": timestamp,
"client_secret_sign": client_secret_sign,
"grant_type": "client_credentials",
"type": type_
}
query = urllib.parse.urlencode(data_)
oauth_url = 'https://api.commerce.naver.com/external/v1/oauth2/token?' + query
response = requests.post(url=oauth_url, headers=headers)
response_data = response.json()
if 'access_token' in response_data:
return response_data['access_token']
else:
print(response_data)
print("토큰 요청 실패, 재시도")
time.sleep(1)
return get_bearer_token(client_id, clientSecret, type_)
참조 : https://apicenter.commerce.naver.com/ko/basic/commerce-api
반응형
'파이썬 개발 공유' 카테고리의 다른 글
How to translate epub - download free translator (5) | 2022.09.10 |
---|---|
유튜브 채널 크롤링 매크로 사용 방법 (다운로드) - 자체 제작 (54) | 2022.02.22 |
epub 번역하는 방법 - 자체 개발 무료 번역기 다운로드 및 공유 (161) | 2022.01.03 |
스마트스토어 일정산 순수익 자동계산 프로그램 (2) | 2021.03.02 |
파이썬, 도매처 주문 넣기 자동화 (feat. 온라인 셀러, 스마트 스토어) (0) | 2021.02.04 |