씨앗뿌리는 개발자의 개발노트
article thumbnail

생각보다 번거로웠다. 나에게 메시지 성공하기까지 한 몇 시간 걸렸네... 

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
profile

씨앗뿌리는 개발자의 개발노트

@씨앗뿌리는 개발자

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!