코드스테이츠 PMB10기 W7D3:" 야, 너두 네이버 API 이해할 수 있어
API가 뭐에요?
오늘은 네이버의 오픈 API에 대해서 알아보는 시간입니다. API가 무엇인지 간단히 정리해보고, 네이버의 오픈 API의 구조 그리고 '검색'기능을 중점적으로 알아보겠습니다. 그리고 간단한 활용을 해봅니다. 또한 네이버의 오픈 API 한계점에 대해서 알아보겠습니다. 글 구조는 아래 와 같습니다.
1. API란? : 음식 메뉴판들로 구성된 책장, 데이터=재료,구성품
2. 네이버 open API 전체 구조: '접근토큰'값의 필요 유무로 갈리는 로그인방식과 비로그인 방식
3. 네이버 open API 기능의 종류와 역할: '컴퓨터 언어'를 다루는 사람들이 네이버 해당 기능의 데이타를 불러올 수 있게 해줍니다.
4.책 검색 API의 기능과 용어설명: URL? 메서드? GET?
5.책 검색 API 구조와 실제 활용 예시: API playground는 데이터를 불러오는 '쉬운 메뉴얼'
6.제품 개발에 활용 한다면?: 개발자는 DB로 새기능 만들기, PM은 제품의 데이타셋의 구성 이해하기.
7.API가 제공하는 서비스의 장,단점 : 6.번 VS 정확성 떨어짐, 해킹위험
1. API란? : 메뉴판들로 만든 책장, 데이터=재료,구성품
API는 Application Programming Interface의 약자입니다. 응용 프로그램 개발자들이 애플리케이션을 만들 때 운영체제에서 동작하는 프로그램을 쉽게 만들 수 있도록 화면 구성이나 프로그램 동작에 필요한 각종 함수를 모아놓은 것을 말합니다. 즉 다른 개발자들이 이 프로그램을 응용해서 다른 프로그램을 만들려면 '최소한 이런 기능들은 필수로 들어가겠지.'라는 생각으로 미리 필요한 함수들을 만들어서 모아놓은 도서관과 같은 것이지요.
[네이버 지식백과] API [application programming interface] (천재학습백과 초등 소프트웨어 용어사전)
네 그렇습니다... 요즘 초딩들은 이런거 배운답니다... 제 때는 '별 헤는 밤'으로 누가빨리 타자속도 500찍나 연습했는데 말이지요 ㅠㅠ
2. 네이버 open API 전체 구조 : '접근토큰'값의 필요 유무로 갈리는 로그인방식과 비로그인 방식
(1) 네이버 open API란? : 외부 개발자용 메뉴판
네이버 오픈API는 네이버 플랫폼의 기능을 외부 개발자가 쉽게 이용할 수 있게 웹 또는 SDK 형태로 공개한 기술들입니다. 네이버 오픈API로 활용할 수 있는 기술에는 네이버 로그인과 지도, 검색이 있으며, Clova의 음성 인식 기술과 음성 합성 기술, 얼굴 인식 기술, Papago의 기계 번역 기술 등이 있습니다. -'공통 이용자 가이드' 중
SDK: 소프트웨어 개발 키트
(2) 네이버 open API에 관한 조작법 개요 : 데이터 관리는 꼼꼼해야한다.
아래와 같이 API의 큰 구조와 조작법에 대해 나옵니다. 오늘은 네이버 open API의 종류, 그리고 그 중에서도 로그인 방식과 비로그인 방식에 무엇있고, 기능이 어떻게 되나? 그 중 검색 API는 무엇인가?에 대해 집중하겠습니다.
(3) 네이버 openAPI 의 전체 구조 : 로그인 방식, 비로그인 방식
국내 최고 등급의 IT기업인 만큼 API 종류가 많습니다. 이를 로그인 방식과 비로그인 방식으로 쪼개 볼 수 있습니다.
3. 네이버 open API 기능의 종류와 역할 : '컴퓨터 언어'를 다루는 사람들이 네이버 해당 기능의 데이타를 불러올 수 있게 해줍니다.
(1) api 기능의 의미
api기능의 핵심은 '컴퓨터 언어'를 다루는 사람들이 해당 기능을 사용 즉, 데이타를 불러올 수 있게 해줍니다. 네이버에서 만들어놓은 UI인터페이스를 통한 데이터 접속이 아닌 '개발자'의 시점으로 데이터를 불러올 수 있게 해줍니다.
(2) 종류와 역할
로그인 방식에 3개 비로그인 방식에 9가지가 있습니다. 역할역시 친절히 설명되어 있습니다.
4.책 검색 API의 기능과 용어설명: URL? 메서드? GET?
(1)검색시 필요한 설명 용어 분석'
여러 기능이 있습니다. 그 중 '검색'의 설명을 분석해 보도록 해보게습니다. 검색만해도 여러개가 있는데 다시 '책'에 집중해보겠습니다.
그런데 검색 api의 구조 설명에 어려운 용어가 많습니다. 위 사진의 용어들을 해석해봅니다.
URL이란?
인터넷에서, 어느 사이트에 접속하기 위해서 입력해야 하는, 주소를 포함한 일련의 문자입니다. 맨 앞에 `http://'를 입력하고 다음에 해당 사이트의 주소를 표시합니다.
HTTP란 ?
- HyperText Transfer Protocol의 준말로 링크 기반으로 데이터를 요청하고 받겠다는 것입니다.
HTTPS란?
https=HTTP+ 보안기능(SSL인증서)입니다.
REST API란?
HTTP 프로토콜 장점을 살릴 수 있는 네트워크 기반 아키텍처 입니다.
메서드란?
REstful(REST) api 의 명령어입니다. 여러 종류 중 'Read'를 의미하는 명령어가 있는데 표시는 'GET'입니다.
JSON이란?
JavaScript Object Notation (JSON)은 Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷입니다. 웹 어플리케이션에서 데이터를 전송할 때 일반적으로 사용합니다
XML이란?
다목적 마크업 언어입니다. XML은 SGML의 단순화된 부분집합으로, 다른 많은 종류의 데이터를 기술하는 데 사용할 수 있습니다. 마크업 언어는 태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어의 한 가지입니다.
(2) 책 검색 API 용어
준비사항, API 기본정보, 요청변수, 출력결과, 에러코드를 이해해야 API를 자유롭게 다룰 수 있다고 합니다...코딩은 어렵네요.
아래 요청 변수 타입의 string은 문자를 뜻합니다. integer은 숫자 정수를 말합니다.
책 검색api 의 구조에 해당하는 용어가 저렇게 많으므로 일일이 '복붙'하진 않겠습니다. 아래 들어가시면 됩니다.
책 - Search API
책 NAVER Developers - 검색 API 책 검색 개발가이드 검색 > 책 네이버 책 검색 결과를 출력해주는 REST API입니다. 비로그인 오픈 API이므로 GET으로 호출할 때 HTTP Header에 애플리케이션 등록 시 발급받은 C
developers.naver.com
5.책 검색 API 구조와 실제 활용 예시 : API playground는 데이터를 불러오는 '쉬운 메뉴얼'
API playground를 활용해 데이터를 가져오겠습니다. API라는 메뉴판 책장자체가 '검색을 위한 모음집' 이지만 API playground는 이 모음집을 다시 검색하기 위한 '쉬운 메뉴얼' 입니다.
API기능 중 '기본검색'을 설정하면 저렇게 URL 주소가 자동 설정됩니다. 'V1'이라는 것도 자동 설정됩니다. 그리고 대상, serviceid를 book으로 설정할 수 있습니다. 최근 한국의 대표 지성인이었던 이어령 박사님의 죽음이후 그의 책이 각광받고 있다고 합니다. 이분의 마지막 책을 검색해보겠습니다. 아래와 같이 여러가지 설정을하고, 호출을 누릅니다.
요청의 결과 입니다. 결국 URL 링크 기반 데이터가 나옵니다.
6.제품 개발에 활용 한다면?: 개발자는 DB 쉽게 불러오기 PM은 DB구조 이해하기
개발자는 아래와 같이 DB를 통해 기능을 만들 수 있습니다.
네이버의 DB를 활용해 새로운 기능을 쉽게 만들 수 있습니다. 아래 영상이 대표 예시입니다. 검색 버튼 하나 누르면, 네이버 기사가 제목, 날짜, 링크, 요약설명으로 주르르륵! 정리됩니다. 즉 프로그래밍 코드에 URL 복붙만해서 DB를 통째로 가져올 수 있습니다.
여기선 사무자동화가 예시네요. 예시에선 뉴스가 15개? 몇개 안됩니다. 수작업도 가능합니다. 그러나 수백 수천개의 데이터셋을 다룰 때는 네이버 open api 의 DB를 가져와 새로운 기능을 만들 수 있습니다. 물론 데이터를 자유자대로 다루려면 어느정도의 코딩은 필요하더군요.
PM은 꼭 네이버가 아니더라도 API구조를 보고, 아~ 이제품은 이런 DB셋이 있구나! 하고 알 수 있습니다. 한마디로 메뉴판만 보고 이런 메뉴의 원자재들이 있구나~ 하고 알 수 있습니다.
아래는 URL링크를 통해 쉽게 DB를 가져올 수 있다는 것을 설명하는 사진 입니다.
네이버 뉴스 검색결과 자동으로 엑셀에 모아보기(Open API) - YouTube
7.API가 제공하는 서비스와 장점과 단점: 6.번 VS 정확성 떨어짐, 해킹위험
네이버 open API는 네이버의 데이타기능에 대한 메뉴판 입니다. 개발자들이 손쉽게 데이타를 뽑고, 기능을 구축할 수 있습니다. 데이타 베이스 구축시 개발 비용을 줄일 수 있습니다. 또한 PM은 DB가 이런 것들이 있고, 이렇게 불러오는 구나~ 하고 알 수 있습니다.
그러나 정보부족 및 정확성이 낮을 수 있습니다. 왜냐하면 만들어진 DB를 사용합니다. 따라서 앱, 웹에 바로 적용이 안되거나, 실제 DB와 차이가 날 수 있습니다. 즉 네이버 검색결과와 open api가 다를 수 있습니다.
또한 해킹에 취약합니다. “API 서버를 통한 해킹 시도를 경험한 기업은 25% 이상이다. 해킹을 겪지 않은 16%의 기업은 공격 시도조차 알지 못하는 상태” “기업의 82%가 API 조작 시도를 감지했다” 라는 2020년도 9월 뉴스가 있네요.
1. API란? : 음식 메뉴판들로 구성된 책장, 데이터=재료,구성품
2. 네이버 open API 전체 구조: '접근토큰'값의 필요 유무로 갈리는 로그인방식과 비로그인 방식
3. 네이버 open API 기능의 종류와 역할: '컴퓨터 언어'를 다루는 사람들이 네이버 해당 기능의 데이타를 불러올 수 있게 해줍니다.
4.책 검색 API의 기능과 용어설명: URL? 메서드? GET?
5.책 검색 API 구조와 실제 활용 예시: API playground는 데이터를 불러오는 '쉬운 메뉴얼'
6.제품 개발에 활용 한다면?: 개발자는 DB로 새기능 만들기, PM은 제품의 데이타셋의 구성 이해하기.
7.API가 제공하는 서비스의 장,단점 : 6.번 VS 정확성 떨어짐, 해킹위험
야! 나두! 네이버 open API이해할 수 있어!
API 공통 가이드 - Open API 가이드 (naver.com)
REST API 란 ? :: 한량 개발자 (tistory.com)