OpenAPI의 응용 인공지능 연구실
목차 OpenAPI Mashup How can use OpenAPI Various OpenAPIs 실습
OpenAPI Application Programming Interface OpenAPI 애플리케이션을 개발하기 위한 여러 가지 기능의 집합 OpenAPI 어떤 회사나 단체의 API를 외부에 공개한 것으로 보통 웹 서비스(Web Services) 형태로 공개한 것을 말함 전통적인 API의 개념을 웹으로 확장 특정한 기능이나 서비스를 제공하는 사이트에 접속해 필요한 데이터를 요청하고 받아오는 행위를 기존 컴퓨터에서 함수를 호출하고 결과를 받는 것처럼 구현
Mashup 인터넷상에서 제공되고 있는 다양한 서로 다른 서비스와 기능을 합쳐서 새로운 서비스 또는 애플리케이션으로 만들어내는 것을 의미 서로 다른 오픈API를 이용해 시너지를 낼 수 있는 새로운 서비스를 만드는 행위 기존 인터넷 서비스의 개방 소스를 조합해 새 서비스를 만드는 기법으로 개방과 공유를 전제로 하는 웹2.0 개념의 핵심 기술
Mashup
How can use OpenAPI Query 요청 방법 결과 수신 형태 GET 방식 POST 방식 URL에 직접 데이터를 적어서 전송 ex) http://search.naver.com/search.naver?where=nexearch&query=abc.. 보안에 취약하나 form을 생성할 필요가 없음 URL에 포함되어 전달되기 때문에 길이의 제한이 있음 POST 방식 Form을 생성하여 전송 데이터가 숨겨져서 전송이 되기 때문에 보안성이 높음 데이터의 길이 제한이 없음 결과 수신 형태 RSS(XML) 형식으로 결과 데이터 수신 JavaScript를 이용해 Form을 수신
Various OpenAPIs Naver APIs (http://dev.naver.com/openapi/) 실시간 급상승 검색어, 지식iN, 이미지, 전문자료, 책, 영화, 영화인, 지역, 쇼핑, 자동차, 자바스크립트 지도, 플래시 지도, 블로그 검색, 카페 검색, 웹문서 검색, 뉴스 검색… etc Daum APIs (http://dna.daum.net/apis) 지도, 실시간 검색어, 영화, 축제, 쇼핑 검색, 쇼핑 상품, 지식 검색, 게시판 검색, 카페 검색, 블로그 검색, 책, 동영상, 이미지… etc
Various OpenAPIs Google APIs (http://code.google.com/intl/ko-KR/more/) 애드센스, 지도, 도서 검색, Picasa, 캘린더, 구글 어스, 구글 웨이브… etc Twitter APIs (http://dev.twitter.com/doc) Tweet, List, Retweet, Favorite, Block, Follow 등 거의 모든 기능, 실시간 Trend 보기, 예전 Trend 보기, 사용자별 트윗 검색, 공개 트윗 스트리밍… etc Facebook APIs (http://developers.facebook.com/) 로그인 상태, ‘좋아요’ 기능, 사용자 정보 및 친구 정보… etc
예 제
주의! – Encoding? 현재 인터넷에는 다양한 한글 코드가 사용 중 EUC-KR UTF-8 KS 완성형 한글 코드 2,350개의 제한된 글자 표현 UTF-8 UTF : Unicode Transformation Format Unicode를 표기하고 전송하기 위한 방법 8-bit 형식으로 처리 7-bit 표준 ASCII와 완벽한 호환성으로 가장 많이 사용 중 8-bit 이상으로 확장 가능
주의! – Encoding? UTF-16 ANSI Unicode의 기본이 되는 16bit로 unicode를 그대로 표현 7bit ASCII의 0~127 영역 외의 128~255 영역의 표준화 한글 표준 : ANSI-949
네이버 OpenAPI Key 등록 Naver Developer Center 좌측 메뉴 – 키 등록/수정 메뉴 http://dev.naver.com 좌측 메뉴 – 키 등록/수정 메뉴 약관 동의 후 확인 Key List- 91e882eb2e55c968beef20fe6ea126d3 f5e0e9e35bba47b9ddc09f9f5fb23219 9863d2dd8e80a25d07eb2f9c002dff90 c9864c38585e5d5ed8f3e426b3d2c4dc 6f4ad5dbec8f118d6869767b9fbcefe4 019304c50a9c122ad6e14abe1dbb8d27 네이버 아이디가 없다면 이중에서 되는것 사용해도 됨
Naver 검색 API 해당 변수 값을 넣고 request 요청 참조: http://dev.naver.com/openapi/apis/search/blog
Naver 검색 API 출력 결과 필드
OpenAPI 결과 Sample Data 네이버 블로그 검색 API 다음 블로그 검색 API
네이버 블로그 검색 API 사용 예제 Import 목록 java.io.* java.net.* javax.xml.parsers.* org.xml.sax.* org.w3c.dom.* 결과 화면
네이버 블로그 검색 API 사용 결과
실 습