1. 토큰 정보 얻기(kakao developers 가입 후 진행)
카카오 api를 사용하기 위해서는 엑세스 토큰 정보 필요(기한이 2~12시간만 사용 가능)
그래서 refresh token을 사용해서 일정 기간 갱신 사용 가능한 방법으로 사용해야 함.
import requests
import json
url = "https://kauth.kakao.com/oauth/token"
data = {
"grant_type" : "authorization_code",
"client_id" : "REST API KEY", # rest api key
"redirect_uri" : "http://localhost",
# 내어플리케이션 - 앱선택 - 카카오로그인 - 리다이렉트URL 설정
# 그리고 주소창
# https://kauth.kakao.com/oauth/authorize?client_id=REST API KEY&redirect_uri=리다이렉트URL&response_type=code
# RESTAPI와 리다이렉트URL을 본인 것으로 설정 후 접속하면 에러뜨는데;
# 주소창 code 옆에 =???? 이 부분이 아래 인가 코드로 쓰면 된다.
"code" : "인가 코드" #
}
response = requests.post(url, data=data)
tokens = response.json()
# 토큰을 파일로 저장하기
if "access_token" in tokens:
with open("kakao_token.json", "w") as fp:
json.dump(tokens, fp)
print("Tokens saved successfully")
else:
print(tokens)
* 이런 결과를 볼 수 있다. {"access_token": "???", "token_type": "bearer", "refresh_token": "???", "expires_in": 21599, "scope": "talk_message profile_nickname", "refresh_token_expires_in": 5183999}
2. refresh token 사용해서 토큰 갱신
def refresh_token(self):
url = "https://kauth.kakao.com/oauth/token"
data = {
"grant_type": "refresh_token",
"client_id": self.app_key,
"refresh_token": self.tokens['refresh_token']
}
response = requests.post(url, data=data)
# 갱신 된 토큰 내용 확인
result = response.json()
# 갱신 된 내용으로 파일 업데이트
if 'access_token' in result:
self.tokens['access_token'] = result['access_token']
if 'refresh_token' in result:
self.tokens['refresh_token'] = result['refresh_token']
else:
pass
with open("kakao_token.json", "w") as fp:
json.dump(self.tokens, fp)
반응형
'Programming > 파이썬(python) - 라이브러리' 카테고리의 다른 글
파이썬(python)/ cx_Freeze 사용(실행프로그램 만들기) (0) | 2024.02.22 |
---|---|
파이썬(python)/ 사용 라이브러리 패키지 관리 (0) | 2024.01.03 |
파이썬(python)/ 테서랙트(tesseract) 사용 (0) | 2023.10.10 |
파이썬(python)/ 안면 인식 라이브러리 dlib (0) | 2023.09.28 |
파이썬(python)/ TCP-IP 통신 사용 (0) | 2023.09.27 |