코딩

파이썬(Python)으로 카카오톡 메세지 나에게 보내기

시스템 박사 2022. 12. 7. 13:28
728x90
반응형

카카오톡의 메세지를 전송하기 위하여 아래의 사이트에 접속한다.

https://developers.kakao.com/

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

내 애플리케이션에서 애플리케이션 추가하기 정보 입력한다.

kakao developers 에서 애플리케이션 추가하기

 

 

아래와 같이 애플리케이션 하나가 추가됨을 확인할 수 있다.

애플리케이션 추가

 

새로 추가한 test 앱을 클릭하여 아래의 카카오 로그인을 활성화하고,

카카오 로그인 활성화

 

다음으로 동의항목에서 카카오톡 메시지 전송의 설정을 클릭한다.

동의항목 카카오톡 메시지 전송 설정 변경

 

아래와 같이 동의 항목 설정을 입력 한다.

동의 항목 설정

 

동의 항목 카카오톡 메시지 전송이 선택동의로 설정됨을 알 수 있다.

 

허용 IP 주소를 입력하기 위해 아래의 사이트에 접속하여 내가 있는 곳의 ip address을 알아낸다.

https://www.findip.kr/

 

아이피 확인 - my ip address

IP 주소를 확인하는 가장 쉽고 빠른 방법 이 사이트(findip.kr)에 접속하는 것이 IP주소를 확인하는 가장 쉽고 빠른 방법이다. 210.220.79.252 가 현재 접속한 기기의 공인 IP(Internet Protocol) 주소다 IP주소

www.findip.kr

 

위에서 얻어온 ip address xxx.xxx.xxx.xxx을 입력한다.

허용 IP 주소 입력

 

허용 IP address를 입력하였으면 맨위의 문서탭을 클릭하고 REST API를 클릭한다.

REST API 클릭

 

엑세스 토큰을 얻기 위하여 'REST API 테스트 도구'를 클릭한다.

REST API 테스트 도구

 

제일 처음 만들었던 test앱에서 보내기 위하여 사각박스 안을 클릭하여 test 앱을 선택하고 토큰발급을 클릭한다.

인증 앱 클릭

 

액세스 토큰 발급을 확인한다.  --> 카카오톡 동의 필요함

액세스 토큰 발급

 

아래의 엑세스 토큰에 있는 정보를 복사하여 둔다.

엑세스 토큰

 

이제 파이썬으로 작성하여 전송하여 보면 ----------------------------------------------------------------

import requests
import json
from datetime import datetime

token="위에서 받은 토큰값"
url = "https://kapi.kakao.com/v2/api/talk/memo/default/send"
header = {
    "Content-Type": "application/x-www-form-urlencoded",
    "Authorization": 'Bearer ' + token}

post = {
        "object_type": "text",
        "text": "처음 보냈습니다.",
        "link": {                    },

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

----------------------------------------------------------------------------

내 스마트폰 카톡을 확인한다.

카카오톡 내용

위에서 보면 Redirect URI 버튼이 안나오는데, 플랫폼 --> Web 플랫폼을 클릭하여 네이버 정보를 입력한다.

 

다시 파이썬 소스를 실행하면 아래와 같이 버튼까지 나온다.

카카오톡 받은 메시지

 

 

스마트폰에서 위의 자세히 버튼을 클릭하면 네이버로 잘 연동되는것을 확인할 수 있다.

연동 화면

 

------------------------------------- 이상 끝

728x90