참고 사이트
developers.kakao.com/docs/latest/ko/kakaologin/rest-api#refresh-token
초기 엑세스 토큰을 발급 후 계속해서 사용하다보면 401 Error를 응답받을 것이다.
이유는 엑세스 토큰을 발급할 때, 토큰을 사용할 수 있는 유효기간을 제시한다. 이 유효기간이 만료되면 더 이상 해당 엑세스 토큰을 사용할 수 없으며, 만료된 엑세스 토큰으로 REST API를 요청할 시 401 에러를 경험하게 된다.
따라서, 유효기간이 만료되기 이전에 갱신을 해야한다.
갱신하는 코드는 다음과 같다.
아래 코드에서 사용되는 refresh_token의 경우 초기 엑세스 토큰을 발급받을 때 제공해주는 refresh_token이라는 사용자 리프레시 토큰을 뜻한다.
초기 엑세스 토큰 발급하는 법 :
>> 아래 포스팅 내용 중 코드의 마지막 부분 print(tokens["access_token"]) 을 print(tokens)로 바꾸면 refresh_token 확인 가능
다시 본론으로 돌아와, 엑세스 토큰을 갱신하는 코드는 다음과 같다.
def refreshToken(refresh_token) -> str:
REST_API_KEY = "자신의 REST API KEY"
REDIRECT_URI = "https://kauth.kakao.com/oauth/token"
data = {
"grant_type": "refresh_token", # 얘는 단순 String임. "refresh_token"
"client_id":f"{REST_API_KEY}",
"refresh_token": refresh_token # 여기가 위에서 얻은 refresh_token 값
}
resp = requests.post(REDIRECT_URI , data=data)
new_token = resp.json()
return new_token['access_token']
반응형
'Language > Python' 카테고리의 다른 글
[Python] 카카오 REST API UUID 값 찾기 (1) | 2021.01.13 |
---|---|
[Python] 카카오 REST API 친구에게 메시지 보내기 (0) | 2021.01.13 |
[Python] 카카오 REST API 친구에게 List 메시지 보내기 (0) | 2021.01.13 |
[Python] 카카오 REST API 엑세스 토큰 발급 하기 (0) | 2021.01.13 |
Python으로 워드프레스 포스트 작성하기 (0) | 2020.08.13 |