본문 바로가기
Python/Python_basic

파이썬 카카오톡 API 연동

by Mr.DonyStark 2024. 1. 26.

해당 글은 아래 링크관련 파이썬으로 카카오톡 API 연동후 '나에게 카톡을 보내는방법' 관련 방법을 기재한 내용임. 현재 글을 읽고 아래 링크에 있는 코드를 참조하면 유익할 것으로 예상됨.

https://dandora-90.tistory.com/192

 

파이썬(셀레니움)자동화_(구글 스프레드시트/카카오톡API&엑셀저장)

□ 상황 ○ 사용자는 일일 시간별 매출 데이터를 웹 사이트에 직접 로그인하여 정보를 조회하고있음 ○ 직접 로그인하지 않고 자동화하여 실시간으로 시간별 매출 데이터를 조회하고자함 □ 요

dandora-90.tistory.com

 

아래 그림에 맞춰 설명예정이며, 좌측 다이어그램은 아래 링크참고요망.

https://gladtree.tistory.com/36

 

파이썬으로 카카오 OpenAPI 토큰 발급 및 갱신, 메시지 보내기

파이썬으로 작성한 프로그램에서 "카카오톡 나에게 보내기"를 통해 실시간으로 정보를 받아보기 위해 나름 코딩을 해 보았습니다. 그런데 작성 완료 후 테스트를 하면서 알게 된 사실인데, 나에

gladtree.tistory.com

※ 아래 링크에서 로그인 후 사전세팅작업을 운선적으로 진행

  (1) 내 애플리케이션 만들기

https://developers.kakao.com/

 

Kakao Developers

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

developers.kakao.com

 

  (2) 로그인 활성화 *리다이렉트URL을 통해 코드를 받기 때문에 중요함

 

○●○●  절차①

https://kauth.kakao.com/oauth/authorize?client_id= 자신의 API 키값&redirect_uri=  자신이 입력한 redirect uri 값 &response_type=code&scope=talk_message

 

- 셀안에 있는 주소에 자신의 API를 clident_id 에 입력

- 자신의 redirect uri 값을 redirect_uri 에 입력

- 입력 완료 후 전체 복사 후 웹주소창에 붙여넣고 접속

- 카카오톡 인증화면에서 모두 체크후 계속하기 버튼 클릭

- code = * / code 내용복사

 

○●○●  절차②, ③

 - 받은 코드를 바탕으로 토큰 받아오기 요청코드 (Request to kakao)

 - 아래코드를 실행하면 해당 파일이 있는 디렉토리에 토큰이 담긴 json파일이 생성된것을 확인할 수 있음

import requests
import json

url = 'https://kauth.kakao.com/oauth/token'
per_id = '키값'  #키값
redirect_url = '리다이렉트 url'   #리다이렉트 url
code = '코드값'  #인증화면에서 받은 코드

data = {
    'grant_type' : 'authorization_code',
    'client_id' : per_id,
    'redirect_url' : redirect_url,
    'code' : code
}

#토큰 수신 및 덮어쓰기
response = requests.post(url, data=data)
tokens = response.json()

with open('token, json','w') as kakao: #토큰 만료시 다시 불러오면 덮어쓰기위해 작성
    json.dump(tokens, kakao)

 

- 토큰을 생성/갱신하면 아래코드를 통해 나에게 카톡을 보낼수 있음

import requests
import json

with open('token, json','r') as kakao:
    tokens = json.load(kakao)

url="https://kapi.kakao.com/v2/api/talk/memo/default/send"

headers={
    "Authorization" : "Bearer " + tokens["access_token"]
}

data={
    "template_object": json.dumps({
        "object_type":"text",
        "text":"Hello, world!",
        "link":{
            "web_url":"www.naver.com"
        }
    })
}

response = requests.post(url, headers=headers, data=data)
response.status_code
print(f'상태 : {response.status_code} 정상')
if response.json().get('result_code') == 0:
	print('메시지를 성공적으로 보냈습니다.')
else:
	print('메시지를 성공적으로 보내지 못했습니다. 오류메시지 : ' + str(response.json()))

 

* 위코드 적용 영상 아래링크 참조

https://dandora-90.tistory.com/192

 

파이썬(셀레니움)자동화_(구글 스프레드시트/카카오톡API&엑셀저장)

□ 상황 ○ 사용자는 일일 시간별 매출 데이터를 웹 사이트에 직접 로그인하여 정보를 조회하고있음 ○ 직접 로그인하지 않고 자동화하여 실시간으로 시간별 매출 데이터를 조회하고자함 □ 요

dandora-90.tistory.com

 

'Python > Python_basic' 카테고리의 다른 글

파이썬 기본모음_2  (1) 2024.01.26
파이썬 기본모음_1  (0) 2024.01.26
파이썬 구글 API 연동  (1) 2024.01.25
Python DB 연동(MySql, Oracle)  (1) 2024.01.15
라이브러리 호출 및 활용  (0) 2023.12.11