[kakaotalk] 카카오톡 메시지 보내기

웹 플랫폼에서 카카오톡 보내기

develop, javascript, kakaotalk
written byzuhern1zuhern

in

2021. 11. 01


카카오 developers: https://developers.kakao.com/
카카오톡 나에게 보내기: https://developers.kakao.com/tool/demo/message/sendme

1. 카카오 developers 설정

https://developers.kakao.com/

1. 어플리케이션 생성

  • 내 어플리케이션 > 어플리케이션 추가하기

2. API를 사용하기 위한 설정

  • 내 어플리케이션 > 플랫폼 > 사이트 도메인 등록: 테스트, 운영 url 등록!! 등록한 곳에서만 API 사용가능
  • 내 어플리케이션 > 카카오 로그인 > 동의항목

    • 개인정보: 닉네임, 프로필사진 필수동의
    • 접근권한: 카카오 메시지 전송 선택동의
  • 내 어플리케이션 > 팀 관리: 앱 사용 권한 부여받기 전까지는 멤버에게만 메시지 발송 가능함
  • 내 어플리케이션 > 앱 키: 코드에서 사용할 앱 키

2. javascript 개발

1. 나에게 보내기

https://developers.kakao.com/tool/demo/message/sendme

예제에는 scope이 ‘PROFILE,TALKMESSAGE’으로 되어있는데.. 에러가 나길래
‘내 어플리케이션 > 카카오 로그인 > 동의항목’에 써있는 항목명 ‘profile
nickname, profile_image’ 으로 바꾸니까 돌아간다. 설마 카카오가 틀리게 적어 놓지는 않았겠지, 내가 중간에 삽질하면서 착오가 있었을 듯

unction sendTo() {
  Kakao.Auth.login({
    scope: 'profile_nickname,profile_image,TALK_MESSAGE',
    success: function() {
      Kakao.API.request({
        url: '/v2/api/talk/memo/default/send',
        data: {
          template_object: {
            object_type: 'feed',
            content: {
              title: '딸기 치즈 케익',
              description: '#케익 #딸기 #삼평동 #카페 #분위기 #소개팅',
              image_url: 'http://k.kakaocdn.net/dn/Q2iNx/btqgeRgV54P/VLdBs9cvyn8BJXB3o7N8UK/kakaolink40_original.png',
              link: {
                mobile_web_url: 'https://developers.kakao.com',
                web_url: 'https://developers.kakao.com',
              },
            },
            social: {
              like_count: 286,
              comment_count: 45,
              shared_count: 845,
            },
            buttons: [
              {
                title: '웹으로 보기',
                link: {
                  mobile_web_url: 'https://developers.kakao.com',
                  web_url: 'https://developers.kakao.com',
                },
              },
              {
                title: '앱으로 보기',
                link: {
                  mobile_web_url: 'https://developers.kakao.com',
                  web_url: 'https://developers.kakao.com',
                },
              },
            ],
          },
        },
        success: function(res) {
          alert('success: ' + JSON.stringify(res))
        },
        fail: function(err) {
          alert('error: ' + JSON.stringify(err))
        },
      })
    },
    fail: function(err) {
      alert('failed to login: ' + JSON.stringify(err))
    },
  });
}

성공

2. 친구에게 보내기

https://developers.kakao.com/tool/demo/message/send

아직 인증받은 앱이 아니기에 나말고 다른 계정을 팀원을 등록하고
해당 계정이 카톡연결하는 화면에 접속하게 해서 권한받은 다음
친구리스트 조회하면 추가한 팀원이 보이고, 메시지도 보내진다.

성공