스크립트 카카오톡 오픈 API를 이용해서 메시지 보내기. (Send messages using KakaoTalk Open API.)
페이지 정보
본문
안녕하세요. 엔지엠소프트웨어입니다. 오늘은~ 이전 시간에 이어서 카카오톡 Open API를 이용해서 메시지를 보내는 방법에 대해 알아보도록 하겠습니다. [ 이전 시간에 학습한 내용을 참고 ]하여 카카오톡 Open API 이용 신청하시고요. 사용자 정보 또는 친구 목록을 가져오는데까지 확인해야 합니다. 우선, [ 카카오 디벨로퍼 사이트 ]로 이동하고, Rest API 테스트 도구를 실행하세요.
우선 [ 나에게 기본 템플릿으로 메시지 보내기 ] API를 확인 해봅시다. 요청에서 "토큰 발급"을 눌러서 Access Key를 받으세요. 그리고 복사 해둡니다.
"토큰 발급" 버튼 아래에 "전송" 버튼을 누르면 카카오톡으로 메시지가 오는걸 확인할 수 있습니다. 메시지 전송이 성공하면 0을 반환합니다.
이제 엔지엠 에디터에서 확인하기 위해 Open API를 확인해야 합니다. [ 여기 ]로 이동하면 API 사용 설명을 볼 수 있습니다.
요청 (Request)
POST /v2/api/talk/memo/default/send HTTP/1.1
Host: kapi.kakao.com
Authorization: Bearer {ACCESS_TOKEN}
견본 (Sample)
curl -v -X POST "https://kapi.kakao.com/v2/api/talk/memo/default/send" \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-d 'template_object={
"object_type": "text",
"text": "텍스트 영역입니다. 최대 200자 표시 가능합니다.",
"link": {
"web_url": "https://developers.kakao.com",
"mobile_web_url": "https://developers.kakao.com"
},
"button_title": "바로 확인"
}'
응답 (Response)
HTTP/1.1 200 OK
{
"result_code":0
}
엔지엠 에디터를 실행하고, 아래와 같이 설정해줍니다.
- API 주소: https://kapi.kakao.com/v2/api/talk/memo/default/send
- Http 요청 메소드: POST
- 컨텐츠 처리 옵션: Json
- 헤더 목록
- ParameterName: Authorization
- ParameterValue: Bearer <Access Token> - 파라메터 목록
- ParameterName: template_object
- ParameterValue: {
"object_type": "text",
"text": "텍스트 영역입니다. 최대 200자 표시 가능합니다.",
"link": {
"web_url": "http://ngmsoftware.com",
"mobile_web_url": "http://ngmsoftware.com"
},
"button_title": "바로 확인"
}
실제 테스트에서는 카카오톡의 인가 코드를 받고, 이 코드로 다시 토큰을 받아야 합니다. 이 토큰을 사용해서 메시지를 보낼 수 있습니다. 웹서버를 가지고 있다면 이 테스트를 완료할 수 있습니다. 내 앱에서 카카오 로그인이 ON 상태여야 합니다. 카카오 로그인 API를 활용하면 사용자들이 번거로운 회원 가입 절차 대신, 카카오톡으로 서비스를 시작할 수 있습니다. 상태가 OFF일 때도 카카오 로그인 설정 항목을 변경하고 서버에 저장할 수 있습니다. 상태가 ON일 때만 실제 서비스에서 카카오 로그인 화면이 연결됩니다.
Rest API를 사용하기 때문에 클라이언트 시크릿 키도 필요합니다. 좌측의 보안 탭으로 이동한 후 키를 생성하고 활성화 하세요.
인가 코드를 받기 위해 홈페이지에 아래 코드를 html로 만들어서 업로드하세요.
<a
href="https://kauth.kakao.com/oauth/authorize
?client_id=<REST API 키>
&redirect_uri=<Site URL>/oauth
&response_type=code">인가 코드 받기</a>
사이트에서 페이지를 열면 아래와 같이 표시됩니다. 인가 코드 받기를 클릭하면 코드를 받을 수 있습니다.
발급 받은 인가 코드를 복사해두고, 토큰 받는 html 문서를 만듭니다.
<form action="https://kauth.kakao.com/oauth/token" method="post">
<input type="hidden" id="grant_type" value="authorization_code" />
<input type="hidden" id="client_id" value="<REST API 키>" />
<input type="hidden" id="redirect_uri" value="<Site URL>/oauth" />
<input type="hidden" id="code" value="<인가 코드>" />
<input type="hidden" id="client_secret" value="<클라이언트 시크릿 키>" />
<input type="submit" value="토큰 받기">
</form>
실행하면 POST로 토큰을 요청하게 됩니다.
토큰을 받으면 엔지엠 에디터에서 나에게 메시지 보내기를 처리할 수 있습니다. 카카오톡 Open API는 자동화된 소프트웨어(매크로나 RPA등등...)로 인해 서버에 부담이 되는걸 잘 알고 있을겁니다. 그래서, 카카오톡 메시지나 카카오 스토리등등... 대부분의 서비스가 사업자 정보를 요구하고 사용하기가 상당히 까다롭게 설계되어 있습니다. 텔레그램이나 다른 Open API랑 비교해보면... 이걸 사용하라고 만든건가 싶을정도예요^^; 그래도, 마켓에 올라간 앱은 간단하게 처리할 수 있기도 합니다. 아무튼 메시지를 보내면 카카오톡으로 보낸 메시지가 전달되는걸 알 수 있습니다.
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
- 이전글엔지엠 에디터로 최고의 성능을 낼 수 있는 방법. 21.06.10
- 다음글카카오톡 오픈 API를 이용한 업무 자동화 매크로 만들기. (Creating business automation macro using KakaoTalk Open API.) 21.06.06
댓글목록
등록된 댓글이 없습니다.