Python으로 카카오 map API 사용하기

Python으로 카카오 map API 사용하기

·

1 min read

1. 개발자 사이트 https://developers.kakao.com/에 접속하여 카카오 계정으로 로그인

2. 시작하기 - 애플리케이션 추가하기

3. 도구 - Maps API - Web - 시작하기

시작하기를 누르면 https://apis.map.kakao.com/web/guide/로 이동된다.

4. 사이트 도메인 등록 (내 애플리케이션 - 앱설정 - 플랫폼 으로 들어가 호스팅 주소 작성)

예 : http://127.0.0.1:8000 를 적어주고 저장

5. 내 애플리케이션 - 앱 설정 - 앱 키에서 REST API KEY 복사

6. config.py에 REST_API_KEY 저장


카카오 REST API 사용하기

1. requests 라이브러리 설치

HTTP 요청을 쉽게 보내기 위해 requests 라이브러리 설치

⁠pip install requests

2. API 요청 코드 작성

API를 사용하여 특정 좌표에 대한 지역 정보를 가져오는 코드 작성하기

  1. 경도, 위도값이 필수이므로 인자값으로 (x, y)를 넣어준다.
    https://developers.kakao.com/docs/latest/ko/local/dev-guide#coord-to-regioncode 해당 사이트로 들어가면 요청 예시에 대해 작성되어 있다.

  1. 엔드포인트 지정. json을 사용할 것이므로 ${FORMAT} 자리에 .json
    https://developers.kakao.com/docs/latest/ko/local/dev-guide#coord-to-regioncode

  1. 요청 헤더에 API KEY 전달

  2. API 요청에 필요한 파라미터 설정 (경로와 위도)

  3. GET 요청을 보내고 API 응답을 받음

import requests
from django.shortcuts import render, get_object_or_404
from LocalSharing.config import KAKAO_REST_API_KEY
from rest_framework.views import APIView
from maps.models import Map, MapLikeUser
from maps.serializers import MapSerializer, MapLikeUserSerializer


def kakao_rest_api(longitude, latitude):
    url = 'https://dapi.kakao.com/v2/local/geo/coord2regioncode.json'
    headers = {'Authorization': f'KakaoAK {KAKAO_REST_API_KEY}'}
    params = {'x': longitude, 'y': latitude}

    response = requests.get(url, headers=headers, params=params)
    if response.status_code == 200:
        return response.json()
    else:
        return None