KAKAOtalk API 나에게 메세지 보내기

Jacob Lee·2025년 3월 27일

SCADAMaster

목록 보기
3/4
  1. 먼저 로그인 후 인증 코드 필요

    https://kauth.kakao.com/oauth/authorize?response_type=code&client_id=${REST_API_KEY}&redirect_uri=${REDIRECT_URI}

REST_API_KEY

REDIRECT_URI

Browser에 입력시 로그인 후 인증 코드 발급

  1. Access Token 요청
curl -v -X POST "https://kauth.kakao.com/oauth/token" \
    -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
    -d "grant_type=authorization_code" \
    -d "client_id=${REST_API_KEY}" \
    --data-urlencode "redirect_uri=${REDIRECT_URI}" \
    -d "code=${AUTHORIZE_CODE}"

응답

Data	{"access_token":"waizjTni01I3-ODHM65TkWX6al1fbXZXAAAAAQoXEC8AAAGV1kYOqS2N1GIgzv2p","token_type":"bearer","refresh_token":"vtH8T2J7yePI-pBkX6zq99fykMNzcponAAAAAgoXEC8AAAGV1kYOoi2N1GIgzv2p","expires_in":21599,"scope":"talk_message","refresh_token_expires_in":5183999}
  1. 메세지 전송
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
    -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
    -H "Authorization: Bearer ${ACCESS_TOKEN}" \
    --data-urlencode 'template_object={
        "object_type": "text",
        "text": "텍스트 영역입니다. 최대 200자 표시 가능합니다.",
        "link": {
            "web_url": "https://developers.kakao.com",
            "mobile_web_url": "https://developers.kakao.com"
        },
        "button_title": "바로 확인"
    }'

SCADAMaster 코드 전문

// REST API URL
var url = "https://kapi.kakao.com/v2/api/talk/memo/default/send"
var token = "${access_token}""
var Authorization = "Bearer " + token;
var contentType = "application/x-www-form-urlencoded;charset=utf-8";

// 요청 데이터
var templateObject = {
    "object_type": "text",
    "text": "Hi Lee yong Hee, 25.03.26 14:35PM",
    "link": {
        "web_url": "https://examplescada.com/oauth"
    }
};

// JSON 문자열을 URL 인코딩
var data = "template_object=" + JSON.stringify(templateObject);


// jsonString을 전송 데이터로 사용
var value = func.httpPost(url, data, Authorization, contentType);

func.overwriteDatatoFile("C:\\Users\\user\\Desktop\\result.txt",value)

  1. 주의 사항
필드명타입설명비고
token_typeString토큰 타입, 고정 값은 "bearer"O (필수)
access_tokenString갱신된 사용자 액세스 토큰 값O (필수)
id_tokenString갱신된 ID 토큰 값조건부 제공: 갱신 요청 시, 발급된 리프레시 토큰이 ID 토큰을 포함한 경우에만 반환됨
expires_inInteger액세스 토큰의 만료 시간 (초 단위)O (필수)
refresh_tokenString사용자 리프레시 토큰 값기존 리프레시 토큰의 유효 기간이 1개월 미만일 경우에만 갱신되어 반환됨
refresh_token_expires_inInteger리프레시 토큰의 만료 시간 (초 단위)
  • refresh_token
    1) 유효기간이 짧아 갱신을 하면 2개월 유지 (60일)
    2) 만료 1개월 전부터 갱신이 가능 (상기 응답에 refresh_token 값 수신)
    3) 갱신 시 새로운 엑세스 토큰 발급

0개의 댓글