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