카카오 API를 사용하기 위한 오픈소스 파이썬 라이브러리


PyKakao

PyKakao 라이브러리를 사용하면 Kakao Developers에서 제공하는 여러 종류의 카카오 API를 파이썬으로 쉽게 사용할 수 있습니다. 예를 들어, Daum 검색 API를 이용해서 웹에서 정보를 검색할 수 있고, 메시지 API를 사용해서 카카오톡 메시지를 전송할 수 있습니다. 또한, 로컬 API를 통해 주변 정보를 조회할 수 있고, KoGPT APIKarlo API를 이용해 자연어 처리를 하거나 생성형 인공지능으로 새로운 이미지를 만들어 볼 수도 있습니다.


설치 방법

  1. 운영체제(OS)에 따라 아래 중 하나를 선택합니다.
  • Windows: CMD(명령 프롬프트) 실행
  • Mac: Terminal(터미널) 실행
  1. 아래 Shell 명령어를 입력 후 실행합니다.
pip install PyKakao --upgrade


REST API 키 발급 방법

PyKakao 라이브러리로 카카오 API를 사용하기 위해서는 Kakao Developers에 가입해야 합니다. 가입 후 로그인한 상태에서 상단 메뉴의 내 애플리케이션을 선택합니다. ‘애플리케이션 추가하기’를 눌러 팝업창이 뜨면 ‘앱 이름’, ‘사업자명’을 입력하고, 운영정책에 동의 후 ‘저장’을 선택합니다. 추가한 애플리케이션을 선택하면 ‘앱 키’ 아래에 ‘REST API 키‘가 생성된 것을 확인할 수 있습니다.


사용 방법

Daum 검색 API

from PyKakao import DaumSearch

# Daum 검색 API 인스턴스 생성
DAUM = DaumSearch(service_key = "REST API 키")

# 웹문서 검색
df = DAUM.search_web("파이썬", dataframe=True)

# 동영상 검색
df = DAUM.search_vclip("파이썬", dataframe=True)

# 이미지 검색
df = DAUM.search_image("파이썬", dataframe=True)

# 블로그 검색
df = DAUM.search_blog("파이썬", dataframe=True)

# 책 검색
df = DAUM.search_book("파이썬", dataframe=True)

# 카페 검색
df = DAUM.search_cafe("파이썬", dataframe=True)

메시지 API

from PyKakao import Message

# 메시지 API 인스턴스 생성
MSG = Message(service_key = "REST API 키")

# 카카오 인증코드 발급 URL 생성
auth_url = MSG.get_url_for_generating_code()
print(auth_url)

# 카카오 인증코드 발급 URL 접속 후 리다이렉트된 URL
url = ""

# 위 URL로 액세스 토큰 추출
access_token = MSG.get_access_token_by_redirected_url(url)

# 액세스 토큰 설정
MSG.set_access_token(access_token)

# 1. 나에게 보내기 API - 텍스트 메시지 보내기 예시
message_type = "text" # 메시지 유형 - 텍스트
text = "텍스트 영역입니다. 최대 200자 표시 가능합니다." # 전송할 텍스트 메시지 내용
link = {
  "web_url": "https://developers.kakao.com",
  "mobile_web_url": "https://developers.kakao.com",
}
button_title = "바로 확인" # 버튼 타이틀

MSG.send_message_to_me(
    message_type=message_type, 
    text=text,
    link=link,
    button_title=button_title,
)

# 2. 친구에게 보내기 API - 텍스트 메시지 보내기 예시 (친구의 UUID 필요)
message_type = "text" # 메시지 유형 - 텍스트
receiver_uuids = [] # 메시지 수신자 UUID 목록
text = "텍스트 영역입니다. 최대 200자 표시 가능합니다." # 전송할 텍스트 메시지 내용
link = {
  "web_url": "https://developers.kakao.com",
  "mobile_web_url": "https://developers.kakao.com",
}
button_title = "바로 확인" # 버튼 타이틀

MSG.send_message_to_friend(
    message_type=message_type, 
    receiver_uuids=receiver_uuids,
    text=text,
    link=link,
    button_title=button_title,
)

로컬 API

from PyKakao import Local

# 로컬 API 인스턴스 생성
LOCAL = Local(service_key = "REST API 키")

# 주소 검색하기
df =  LOCAL.search_address("백현동", dataframe=True)

# 좌표로 행정구역정보 받기
df =  LOCAL.geo_coord2regioncode(127.110871319215, 37.3885490672089, dataframe=True)

# 좌표로 주소 변환하기
df =  LOCAL.geo_coord2address(127.110871319215, 37.3885490672089, dataframe=True)

# 좌표계 변환하기
df =  LOCAL.geo_transcoord(127.110871319215, 37.3885490672089, "WCONGNAMUL", dataframe=True)

# 키워드로 장소 검색하기
df =  LOCAL.search_keyword("판교역", dataframe=True)

# 카테고리로 장소 검색하기
df =  LOCAL.search_category("MT1", x=127.110871319215, y=37.3885490672089, radius=500, dataframe=True)

KoGPT API

from PyKako import KoGPT

# KoGPT API 인스턴스 생성
GPT = KoGPT(service_key = "REST API 키")

# 다음 문장 만들기
prompt = "인간처럼 생각하고, 행동하는 '지능'을 통해 인류가 이제까지 풀지 못했던"
max_tokens = 64
result = GPT.generate(prompt, max_tokens, temperature=0.7, top_p=0.8)


참고

태그:

카테고리:

업데이트:

댓글남기기