문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.
- 개발환경 : 파이썬 주피터노트북을 vscode에서 사용 중
- 디벨로퍼스 앱 ID : 1036835
access token을 매번 인증하지 않고 refresh token으로 자동 갱신하도록 코드 구성하였는데요.
처음 코드를 구성하고 최초 실행 시 access token이 파이썬 코드를 통해 갱신되는 것을 확인하였습니다.
이 코드를 이용해 access token이 지속적으로 갱신되어야 하니,
테스트 할 겸 여러 번 실행해보았는데 두번째 실행부터 Keyerror 가 발생하네요…?
- access token 발급 후 json 저장
import requests
import json
url = "https://kauth.kakao.com/oauth/token"
rest_api_key = "1483a269d91484c9b0446ec5f4c5b5e2"
redirect_uri = "https://example.com/oauth"
authorize_code = "Vj1_HqHkI0fQohRRQUPcPkwaZ1Ka20_Ar5xp4Vi90yFOb6t6UTt5HqvvqY4KKclfAAABjdgF_yVDz1szkZmFRA"
data = {
'grant_type':'authorization_code',
'client_id':rest_api_key,
'redirect_uri':redirect_uri,
'code': authorize_code,
}
response = requests.post(url, data=data)
tokens = response.json()
print(tokens)
# json 저장
with open(r"kakaoapi.json","w") as fp:
json.dump(tokens, fp)
- access token을 갱신하기 위해 refresh token을 이용하여 갱신
RE_api = "1483a269d91484c9b0446ec5f4c5b5e2"
RE_url = "https://kauth.kakao.com/oauth/token"
data = {
"grant_type": "refresh_token",
"client_id": RE_api ,
"refresh_token": tokens["refresh_token"]
}
response = requests.post(RE_url, data=data)
tokens = response.json()
with open("kakaoapi.json", "w") as fp :
json.dump(tokens, fp)
tokens["access_token"]
- 결과
- 최초 실행 시 access token이 정상 갱신되어 json 저장
- 두번 째 실행 시 Keyerror 발생함.
이유를 모르겠어요 … ㅠ