Google Maps Places API는 개발자가 전 세계 장소에 대한 자세한 정보에 액세스할 수 있는 강력한 도구입니다. 이 튜토리얼에서는 Google Cloud 프로젝트 설정부터 API 요청 및 응답 처리에 이르기까지 Python에서 새로운 Google Maps Places API를 사용하는 과정을 안내합니다.

Google 지도 장소 API란 무엇인가요?

Google 지도에는 두 가지 버전의 Places API가 있습니다.

  1. 레거시 API – 간단한 API Key로 연결이 가능합니다.
  2. 차세대 API – 인증을 위해 OAuth 2.0이 필요하며 더욱 고급 기능을 제공합니다.

Google Cloud 프로젝트 설정

  1. Google Cloud Console로 이동: 이동 구글 클라우드 콘솔.
  2. 프로젝트 만들기: 프로젝트가 없으면 드롭다운 메뉴를 클릭하고 '새 프로젝트'를 선택하여 프로젝트를 만듭니다.
  3. API 및 서비스 활성화: API 및 서비스 > 대시보드로 이동하여 Places API를 활성화합니다.
  4. OAuth 2.0 설정: API 및 서비스 > OAuth 동의 화면으로 이동하여 동의 화면을 설정하고 OAuth 2.0 자격증명을 생성하세요.

OAuth 2.0으로 인증

  1. OAuth 클라이언트 ID 만들기: 애플리케이션 유형으로 "데스크톱 앱"을 선택하고 클라이언트 비밀 파일을 다운로드합니다.
  2. 필수 라이브러리 설치: pip를 사용하여 Google Python 클라이언트 라이브러리와 Python dotenv 패키지를 설치합니다.
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client python-dotenv

API 요청하기

API 클라이언트 초기화

Python 스크립트를 만듭니다(예: maps_textsearch.py) 다운로드한 자격 증명을 사용하여 API 클라이언트를 초기화합니다.

from google.oauth2 import service_account
from googleapiclient.discovery import build
import json

def create_service(client_secret_file, api_name, api_version, scopes):
    credentials = service_account.Credentials.from_service_account_file(client_secret_file, scopes=scopes)
    return build(api_name, api_version, credentials=credentials)

CLIENT_SECRET_FILE = 'path/to/client_secret.json'
API_SERVICE_NAME = 'places'
API_VERSION = 'v1'
SCOPES = ['https://www.googleapis.com/auth/maps']

service = create_service(CLIENT_SECRET_FILE, API_SERVICE_NAME, API_VERSION, SCOPES)

예: 텍스트 검색

검색 매개변수 정의: 특정 장소를 검색하려면 쿼리를 만듭니다.

     query = 'ramen places in New York'
    response = service.places().textSearch(query=query).execute()
    print(json.dumps(response, indent=4))

    응답 처리: 관련 정보를 추출하여 표시합니다.

    for place in response['results']:
        print(place['name'], place['formatted_address'])

    예: 장소 세부정보

    장소 세부정보 가져오기: 장소 ID를 사용하여 특정 장소에 대한 자세한 정보를 검색합니다.

    place_id = 'ChIJN1t_tDeuEmsRUsoyG83frY4'
    response = service.places().get(place_id=place_id).execute()
    print(json.dumps(response, indent=4))

    표시 세부정보: 리뷰, 영업시간 등 세부정보를 추출하여 인쇄합니다.

    print('Name:', response['name'])
    print('Address:', response['formatted_address'])
    print('Phone:', response['formatted_phone_number'])

    가격 및 할당량

    Google은 모든 지도 제품에 대해 매월 $200의 무료 크레딧을 제공합니다. 예상치 못한 비용이 청구되지 않도록 사용량을 모니터링하세요.

    결론

    다음 단계를 따르면 Google Maps Places API를 Python 애플리케이션에 성공적으로 통합하여 풍부한 장소 관련 데이터를 제공하여 사용자 경험을 향상시킬 수 있습니다.

    표: 핵심 사항

    단계설명
    프로젝트 설정Google Cloud Console에서 프로젝트를 만들고, Places API를 활성화하고, OAuth 2.0 사용자 인증 정보를 설정하세요.
    인증OAuth 2.0을 사용하여 API 요청을 인증합니다.
    API 요청Python 클라이언트 라이브러리를 사용하여 API 요청을 수행합니다.
    응답 처리API 응답에서 관련 정보를 추출하고 표시합니다.
    가격 책정Google 지도에서 제공하는 $200 무료 크레딧을 활용하세요.

    예제 코드 조각

    from google.oauth2 import service_account
    from googleapiclient.discovery import build
    
    def create_service(client_secret_file, api_name, api_version, scopes):
        credentials = service_account.Credentials.from_service_account_file(client_secret_file, scopes=scopes)
        return build(api_name, api_version, credentials=credentials)
    
    CLIENT_SECRET_FILE = 'path/to/client_secret.json'
    API_SERVICE_NAME = 'places'
    API_VERSION = 'v1'
    SCOPES = ['https://www.googleapis.com/auth/maps']
    
    service = create_service(CLIENT_SECRET_FILE, API_SERVICE_NAME, API_VERSION, SCOPES)
    
    query = 'ramen places in New York'
    response = service.places().textSearch(query=query).execute()
    print(json.dumps(response, indent=4))
    
    for place in response['results']:
        print(place['name'], place['formatted_address'])
    
    

      이 가이드를 따르면 Google Maps Places API를 쉽게 시작하고 애플리케이션에 대한 풍부한 위치 기반 데이터를 활용할 수 있습니다. Google 지도의 세계를 탐험해 보세요!

      댓글 (0)

      여기에는 아직 댓글이 없습니다. 첫 번째 댓글이 되실 수 있습니다!

      답글 남기기

      이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다


      프록시 선택 및 구매

      데이터센터 프록시

      회전 프록시

      UDP 프록시

      전 세계 10,000명 이상의 고객이 신뢰함

      대리 고객
      대리 고객
      대리 고객 flowch.ai
      대리 고객
      대리 고객
      대리 고객