생각보다 번거로웠다. 나에게 메시지 성공하기까지 한 몇 시간 걸렸네...
1. 내 애플리케이션에서 앱을 만든다.
https://developers.kakao.com/console/app
2. 카카오 로그인을 활성화한다.
그리고 Redirect URI도 적당히 입력한다. 나는 다음과 같이 설정했다.
3. 카카오 로그인 -> 동의 항목에서 "카카오톡 메시지 전송"을 설정한다.
4. 브라우저에서 다음 링크로 연결한다.
https://kauth.kakao.com/oauth/authorize?client_id={REST API 키}&response_type=code&redirect_uri=http://localhost:8080/kakakoredirect
여기서 REST API 키는 앱 설정 -> 앱 키에서 확인 가능.
redirect_uri는 위에서 설정한 값을 넣어준다.
5. 그러면 카카오 로그인 창이 뜬다. 여기서 동의하고 로그인을 한다.
그러면 다음과 같이 리다이렉트되는데 뒤에 code=가 붙는다. 이 코드를 잘 저장해둔다.
6. 해당 코드 정보를 입력하여 다음 python 코드를 실행한다.
import requests
import json
url = "https://kauth.kakao.com/oauth/token"
data = {
"grant_type" : "authorization_code",
"client_id" : "여기에는 rest api 키 입력",
"redirect_uri" : "http://localhost:8080/kakakoredirect",
"code": '여기에 code 입력'
}
response = requests.post(url, data=data)
tokens = response.json()
print(tokens)
그러면 access token이 출력된다.
7. 출력된 access token을 바탕으로 다음 파이썬 코드를 실행한다.
import requests
import json
url = "https://kapi.kakao.com/v2/api/talk/memo/default/send"
headers = {
"Authorization": "Bearer 여기에 access_token입력"
}
data = {
"template_object" : json.dumps({ "object_type" : "text",
"text" : "Hello My Friend",
"link" : {}
})
}
response = requests.post(url, headers=headers, data=data)
if response.json().get('result_code') == 0:
print('메시지를 성공적으로 보냈습니다.')
else:
print('메시지를 성공적으로 보내지 못했습니다. 오류메시지 : ' + str(response.json()))
사실 아직 확인하지 않은 부분은, access token 갱신 필요 여부 파악해서 갱신하는 부분이다.
일단은 이 상태로 사용해보다가 필요에 따라 내용을 추가해야 겠다.
'개발' 카테고리의 다른 글
Slack API로 메시지 보내기 (0) | 2023.09.09 |
---|