토이 프로젝트를 만들 때, Open API를 통해 더 많은 기능을 구현하고 싶을 때가 있다.
그럴 때 유용한 몇 가지 Open API들.
API란?
Application Programming Interface의 약자.
한 마디로, 소프트웨어와 소프트웨어가 소통할 수 있게 해주는 인터페이스(시스템)이다.
굉장히 광범위한 개념이며, 우리가 사용하는 모든 프로그램, 디지털 기기 등이 API를 바탕으로 작동한다고 할 수 있다.
한 시스템에서 어떤 request를 보낼 때, 시스템에 이를 전달하고, 시스템에서 보낸 response를 다시 전달해주는 "메신저"와 같은 역할인 것이다. [1]
각각의 API는 구성이 다르기 때문에, 정보가 어떻게 전달될 수 있는 지에 대한 지침과 사양이 문서화되어있다.
아주 다양한 API 종류 중에서도, 웹 API는 web, 혹은 http을 바탕으로 통신하는 API이며,
많은 개발자에게 API라 하면 웹 API를 뜻할 것이다. [2]
웹 API는 XML형식에 기반한 SOAP (Simple Object Access Protocol) 형식이 오랫동안 제공되어왔는데,
이의 단점을 보강하기 위해 나온 보다 가볍고, 주로 URL을 endpoints(API를 통한 통신이 가능한 장소)로 사용, 4가지 기본적 HTTP 동사를 이용하는 (GET, POST, PUT, and DELETE) REST API가 대세이다. [3][4]
2015년에 페이스북에서는 REST API의 단점을 보완한 GraphQL 방식을 출시했는데, 상황에 따라 더 좋을수도, 아닐수도 있다. 자세한 설명은 [5]에.
참고
[1] What is an API? by MuleSoft
[2] 나무위키 - API
[3] API Endpoints - What are they?
smartbear.com/learn/performance-monitoring/api-endpoints/
[4] SOAP vs. REST - What's the difference?
smartbear.com/blog/soap-vs-rest-whats-the-difference/
[5] GraphQL이란? by Hyo's 기술 블로그
오픈 API
Open API란,
"누구나 사용할 수 있도록 공개된 API이며, 개발자에게 사유 응용 소프트웨어나 웹 서비스에 프로그래밍적인 권한을 제공한다."
- 위키피디아
그 중 몇 가지를 소개한다!
1. 공공데이터포털
2008년부터 서비스되어 현재 약 6,700건의 API가 제공된다 (점점 늘어나겠지?).
부동산 (부동산 중개앱 직방도 이 API를 토대로 시작되었다고 한다), 날씨, 맛집, 학습, 교통, 기술 관련 등등 아주 다양한 API가 제공된다. (분류별 데이터 수 (API외에도 포함) - www.data.go.kr/tcs/opd/ndm/view.do)
회원가입 후 원하는 공공 API에 활용신청하면 된다.
2. 네이버 오픈 API
네이버 플랫폼의 기능을 외부 개발자가 쉽게 이용할 수 있게 웹 또는 SDK 형태로 공개한 기술들입니다. 네이버 오픈API로 활용할 수 있는 기술에는 네이버 아이디로 로그인과 지도, 검색이 있으며, Clova의 음성 인식 기술과 음성 합성 기술, 얼굴 인식 기술, Papago의 기계 번역 기술 등이 있습니다
가이드 - developers.naver.com/docs/common/openapiguide/
종류
- 검색,네이버 아이디로 로그인, 네이버 회원 프로필 조회, Papago 번역, CLOVA Face Recognition, 데이터랩(검색어트렌드), 데이터랩(쇼핑인사이트), 캡차(이미지),캘린더, 카페 - 가입 및 글쓰기, 단축URL,공유하기
- developers.naver.com/products/intro/plan/
각 API에 대한 documentation이 잘 돼있고 다양한 언어를 바탕으로 한 예시들도 많다.
3. 카카오 오픈 API
역시나 다양한 API들이, 꼼꼼한 documentation과 예시들을 바탕으로 제공되고 있다.
소셜통합 API - 카카오톡 로그인, 카카오 소셜, 메시지, 지도/로컬, 카카오내비, 카카오스토리
비즈니스 API - 카카오싱크, 카카오톡 채널, 카카오페이, 카카오모먼트, 푸시 알림
인공지능 API - 검색, 음성, 비전, 포즈 번역
이 외에도 수많은 국내/해외 오픈 API를 찾을 수 있다.
'프로젝트들' 카테고리의 다른 글
[Web Development] 파이널 프로젝트 - YelpCamp (0) | 2021.02.12 |
---|
댓글