파이썬으로 open api를 하다보니 카카오톡도  open api가 가능할 것 같다는 생각이 문득 드는 것입니다. 물론 텔레그램도 마찬가지고.. 그래서 검색해보니 왠걸.. 역시 있었네요. 이미 많은 분들이 활용하고 있었습니다. 카톡을 통한 수많은 광고성 메시지들이 다 이것을 활용한 것이었군요. 너무 늦게 알아버렸네요. 부랴부랴 회원가입부터 합니다.


https://developers.kakao.com/



카카오톡 이메일 계정이 있다면 로그인 하시면 됩니다.


도구탭 > REST API 테스트에 들어가서 토큰 신청합니다.


메시지 > 나에게 메시지 보내기에 들어가서 토큰 발급을 받습니다. 아래 Params는 저두 뭐하는건진 아직 모르겠습니다.


발급받은 토큰을 저장한 후 아래와 같이 코드를 구현하니 신기하게도 정말 저에게 메시지를 보냅니다. 다만 자기에게서 온 메시지는 당연하겠지만 알림음이 없습니다. 해볼수록 신기합니다. Python으로 쉽게 할 수 있는 일이 엄청 많습니다.



#!/usr/bin/python
# -*- coding: utf-8 -*-

import requests
import urllib
import json

def getAccessToken(refreshToken) :
url = "https://kauth.kakao.com/oauth/token"
payload = "grant_type=refresh_token&client_id=************************************&refresh_token=" + refreshToken
headers = {'Content-Type' : "application/x-www-form-urlencoded", 'Cache-Control' : "no-cache",}
reponse = requests.request("POST", url, data=payload, headers=headers)
access_token = json.loads(((reponse.text).encode('utf-8')))
return access_token

def sendText(accessToken) :
url = 'https://kapi.kakao.com/v2/api/talk/memo/default/send'
payloadDict = dict({
"object_type" : "text",
"text" : u"테스트",
"link" : {
"web_url" : "https://www.daum.net",
"mobile_web_url" : "https://m.daum.net"
},
"button_title" : u"초대",})
payload = 'template_object=' + str(json.dumps(payloadDict))
print('payload : ', payload)
headers = {'Content-Type' : "application/x-www-form-urlencoded", 'Cache-Control' : "no-cache",
'Authorization' : "Bearer " + accessToken,}
response = requests.post(url, data = payload, headers = headers)
if response.json().get('result_code') == 0:
print('메시지를 성공적으로 보냈습니다.')
else:
print('메시지를 성공적으로 보내지 못했습니다. 오류메시지 : ' + str(response.json()))
access_token = json.loads((response.text).encode('utf-8'))
return access_token

result = getAccessToken("**************************************************") # 메세지 받을 사람의 REFRESH TOKEN 이용
print(result)
print(result['access_token'])
sendText(result['access_token'])



'파이썬(PYTHON)' 카테고리의 다른 글

웹 스크랩 모듈 활용 연습  (0) 2020.08.15
logging 모듈 활용 연습  (0) 2020.08.15
os 모듈 파일 읽고 쓰기 활용 연습  (0) 2020.08.14
pyautogui 모듈 활용 연습  (0) 2020.08.08
subprocess 모듈 활용 연습  (0) 2020.08.08

+ Recent posts