API/KakaoAPI

[KakaoAPI] [2/2]카카오톡 메시지 전송API 이용하기

LeeDaniel 2024. 11. 28. 16:43
혹시 이 글을 먼저 보게되었다면
[1/2]카카오톡 메시지 전송API 이용하기
를 먼저보고 카카오개발자센터 페이지에서
인가코드받기API사용을 위한 사전설정을 마치고 오길 바란다


카카오톡 메시지전송API 사용을 위한 단계는 다음과 같다
1.인가코드받기
2.토큰받기
3.메시지 전송 요청하기
카카오 개발자 센터URL : https://developers.kakao.com/console/app
[ 1. 인가코드받기 ]

API공식문서 https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-code
API URL https://kauth.kakao.com/oauth/authorize
HTTP method GET
RequestParam client_id 카카오 개발자센터 > 내 애플리케이션
> 앱설정 > 앱키 > REST API키
redirect_uri 카카오 개발자센터 > 내 애플리케이션
> 제품설정 > 카카오 로그인 > Redirect URI
response_type code
scope talk_message,friends
ExampleURL https://kauth.kakao.com/oauth/authorize?client_id=<REST_API_KEY>&redirect_uri= <REDIRECT_URI> &response_type=code& scope=talk_message,friends
ExampleURL은 인가코드받기 예시URL이며
본인들의 앱에 해당하는 <REST_API_KEY>,<REDIRECT_URI>
값을 입력하고 해당URL을 웹브라우저에 입력해 이동해준다
그럼 다음과 같은 화면이 보여지는데
인가코드를 받기위한 카카오 인증 페이지
전체동의하기를 선택후 동의하고 계속하기를 눌러준다
누르면 화면이동이 되고 웹브라우저의 주소(빨간네모영역)를 확인해보면
code에 값이 담겨져있다
이 code에 있는 값이 우리가 카카오API사용에 필요한
token을 받을때 사용될 code값이다
인가code값 확인하기

[ 2. 토큰받기 ]
[1.인가코드받기]
에서 얻은code값을 이용하여 토큰을 받을 수 있다
Response의 access_token값이 우리가 필요로하는 token값이다

API공식문서 https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-token
API URL https://kauth.kakao.com/oauth/token
HTTP method POST
Headers Content-Type application/x-www-form-urlencoded;charset=utf-8
RequestParam
grant_type authorization_code
client_id 카카오 개발자센터 > 내 애플리케이션
> 앱설정 > 앱키 > REST API키 값
redirect_uri 카카오 개발자센터 > 내 애플리케이션
> 제품설정 > 카카오 로그인 > Redirect URI 값
code [1.인가코드받기]에서 받은 code값
Response
{
    "access_token": "bgOxQvCu1PUs7NQmQmlU74UHYxdmOqrnAAAAAQopyV49AAGTcIWp9dQ05Dl69j3m",
    "token_type": "bearer",
    "refresh_token": "y2Gox1uTN5uzlTodxKN6OOpKo2RSwIdjAAA5AgopyV4AA3GTcI2p8tQ0RDl69jWm",
    "expires_in": 21599,
    "scope": "talk_message friends",
    "refresh_token_expires_in": 5183999
}

[ 3. 메시지 전송 요청하기 ]

메시지 전송하는 방법에는 여러가지가 있으니
반드시 공식문서를 참고해야하고
내가해볼것은 나에게 전송하는것이다
API공식문서 https://developers.kakao.com/docs/latest/ko/message/rest-api#custom-template-msg-me
API URL https://kapi.kakao.com/v2/api/talk/memo/send
HTTP method POST
Headers Authorization Bearer < [ 2. 토큰받기 ] 에서 얻은 access_token값>
Content-Type application/x-www-form-urlencoded;charset=utf-8
Body template_id=114755
성공시 본인의 카톡을 보면 전송이 잘되어있는것을 확인할수있다
카카오톡 메시지전송API가 완료된 화면

위 내용대로 전송했다면 실패했을텐데
Body내용 때문일것이다

template_id=114755​

가 이해가 안갈수있는데 간략히 설명하자면
개발자센터에서 메시지의 템플릿의 관리가 가능하며
기본템플릿 또는 커스텀템플릿을 메시지 전송할수있다

114755값은 내가 미리 등록해둔 내 메시지템플릿의 id값이다
여러분들도 메시지템플릿을 등록하고 해당id값을 넣어 요청해야한다
메시지 템플릿을 등록하는 과정은 다음과 같다

[ 메시지 템플릿 만들기 ]
개발자센터 > 도구 > 메시지 템플릿 도구 바로가기-> 메뉴 클릭
https://developers.kakao.com/tool
메시지 템플릿을 만드는 페이지 접속하기

도구 > 메시지 템플릿 페이지가 보여지며
앱을 눌러준다
메시지 템플릿을 만들기 위해 앱을 클릭

 도구 > 메시지 템플릿 페이지로 이동되면 +템플릿 만들기 메뉴를 클릭한다
템플릿 만들기 메뉴 클릭하기

템플릿 만들기 페이지가 보여지면
원하는 템플릿을 선택하고
확인 버튼을 눌러준다
그러면 다시 메시지 템플릿 페이지로 이동되며
내가 생성한 메시지 템플릿이 보여지고
해당 템플릿의 id값을 확인할 수 있다

이 id값을 아까 메시지 요청시 Body에 입력했던
template_id= 여기에 넣어주면 된다
반응형