본문 바로가기
스파르타코딩 클럽/팀프로젝트

팀프로젝트4 [식당 큐레이팅 앱(2) - Data Flow 작성, Google API]

by UDDT 2025. 6. 10.



 DataFlow 작성하기

    이전 WeatherWhat 프로젝트 때 DataFlow를 그리며 코드 작성을 했었다

   DataFlow로 인해 팀원들 간 원활한 의사소통이 가능하고, 코드 작성 전 로직을 점검할 수 있었던 기억이 있어,

   이번 팀프로젝트에서도 DataFlow를 그리고, 코드 작성에 들어가기로 했다

   (물론 DataFlow를 그려도 수정해야하는 부분이 생기긴 한다... 하하..)

 

 사용하는 API

  
     식당 정보를 가져오기 위해 API를 사용해야 하는데,

    네이버 / 카카오 Map은 국내를 기반으로 데이터는 잘 넘어오지만 식당 사진을 받아올 방법이 없었다

  https://devtalk.kakao.com/t/map-api/124702/2

 

카카오map api 이미지 불러오기

@obviously108 안녕하세요, 해당 이미지는 카카오 제공 서비스 내에서만 노출이 가능하며 API로 제공되지 않습니다. 감사합니다.

devtalk.kakao.com

    API Response에도 해당 데이터는 없고,

   개발자 센터 내 질문답변에도 명확하게 작성되어 있었다

 

 

    규모가 있는 회사의 경우 B2B로 사용하거나,

  자체 영업팀이 있고 자체적으로 구성한 데이터를 사용하는 것 같았다

 

    그 외의 개인 어플에서는 보통 크롤링해서 가져오는 것 같은데,

  크롤링은 불법이라는 판례도 있었고 리스크가 있을 수 있어 우리 팀은 사용하지 않기로 했다.

 

  https://www.hankyung.com/article/202404242738i

 

'여기어때' 사건으로 살펴본 '크롤링'의 적법성 [긱스]

'여기어때' 사건으로 살펴본 '크롤링'의 적법성 [긱스], 경제

www.hankyung.com

 

    우리는 결국 GoogleAPI를 사용하기로 했다

https://developers.google.com/maps/documentation/places/web-service/place-photos?hl=ko-KR

 

장소 사진 (신규)  |  Places API  |  Google for Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 장소 사진 (신규) 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 플랫폼 선택: Android iOS

developers.google.com

 

     Google Places API 안에는 photos name이라는 항목이 있다

   이 name이 이미지는 아니고, 메타데이터 형식으로 넘어온다

 

    따라서 이 메타 데이터를 파라미터로 사용해서 별도의 request를 보내야 한다

https://maps.googleapis.com/maps/api/place/photo?parameters

 

     위 parameters에 해당 메타데이터를 입력해주면, 이미지를 받아올 수 있다

 

 트러블 슈팅: API 호출 수 관련

     방법을 찾고 나서, 기획을 구체화하는 과정에서 한가지 작은 문제를 발견했다

    그것은 바로, API 호출 수가 많아진다는 점....

 

    왜 그런 상황이 발생하냐면,
    1. Google Places API에서는 여러 개의 가게를 받아올 수 있음

        - 예를 들어, 검색어로 "치킨"을 치면 주변의 치킨집 20개를 받아올 수 있음

    2. 해당 치킨집의 메타데이터는 20개

    3. 이미지를 받아올 때 request 1번에 여러개의 사진을 요청할 수가 없음

 

    결론 : 1회의 가게 데이터를 받아올 때, 최소 21회의 API 호출이 발생함

 

    이는 google Places API는 1달 10,000건 무료이고,

   신규가입 시 주는 300달러 크레딧(약 41만원정도)으로 해결해보고자 한다

   

    다운로드 수가 많아지면, 앱스토어에서 내려야하는 일이 생길 수도 있겠지만..ㅠ

최근댓글

최근글

skin by © 2024 ttuttak