카카오톡 나에게 보내기(파이썬) 토큰갱신 질문

파이썬, App Id:967097

인터넷 검색해서 그거 보고 작성했는데 갱신이 자동으로 안되는데 어디에 문제가 있는걸까요?


import requests
import json

class Kakao():
    def __init__(self):
        self.app_key = "REST API"

     # 저장 된 json 파일 읽어오기
        with open("token.json", "r") as fp:
         self.tokens = json.load(fp)

         self.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)



    def send_to_kakao(self, text):
        url = "https://kapi.kakao.com/v2/api/talk/memo/default/send"
        headers = {"Authorization": "Bearer " + self.tokens['access_token']}
        content = {
        "object_type": "text",
        "text": text,
        "link": {"mobile_web_url": "http://m.naver.com"}
        }

        data = {"template_object": json.dumps(content)}
        res = requests.post(url, headers=headers, data=data)

        ## 에러메시지 확인
        res.json()

갱신이 자동으로 안된다는 것이 어떤 의미인지 자세히 설명해주시겠어요?

import requests
import json

class token():
url = “https://kauth.kakao.com/oauth/token

data = {
    "grant_type" : "authorization_code",
    "client_id" : "REST API",
    "redirect_uri" : "https://example.com/oauth",
    "code" : "bssrIDBMNNiU_DLYP9ppssqZJJL-AdYnxYj2GI4PCjI9B8dNNpG_vThtRDOh_Cg**************"
}

response = requests.post(url, data=data)
tokens = response.json()

# 토큰을 파일로 저장하기
if "access_token" in tokens:
    with open("token.json", "w") as fp:
        json.dump(tokens, fp)
        print("토큰 저장 완료")
        print(tokens["access_token"])
else:
    print(tokens)

===========================================
카카오톡 나에게 메시지 보내기 할때 이 *표쪽을 갱신해서 엑세스토큰을 만들었는데
엑세스토큰을 만들고 카톡을 보내는데 갱신 시점을 기준으로 6시간이 지나면 수동으로 갱신해줘야하더라구요
이게 REFRESH TOKEN을 이용하면 6시간이 아닌 2달까지 된다고해서 검색해서 만들어봤는데 그대로6시간밖에안되서요
https://gladtree.tistory.com/36
이거보고 참고해서 만들었었습니다.

액세스 토큰을 발급 받으면 리프래시 토큰이 함께 반환됩니다.

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
    "token_type":"bearer",
    "access_token":"${ACCESS_TOKEN}",
    "expires_in":43199,
    "refresh_token":"${REFRESH_TOKEN}",
    "refresh_token_expires_in":5184000,
    "scope":"account_email profile"
}

토큰 갱신하기 API에 리프래시 토큰으로 토큰 갱신 할 수 있고 6시간짜리 액세스 토큰을 재발급 받을 수 있습니다. (토큰 만료 시간을 늘려주는 개념은 아닙니다.)

아래 내용 참고 부탁드려요.

카카오 로그인 액세스 토큰과 리프레시 토큰

그러면 6시간마다 직접 갱신해줘야하는건가요?

메시지를 자동으로 보내는거라면,

메시지 발송 시, 토큰 만료된 경우 재발급 받는 로직 추가하시면 될 것 같습니다.