Transcript OpenAPI

9주차 실습강의
2010. 1학기, 소프트웨어 설계 및 실험(Ⅰ)
Open API
 API(Application Programming Interface)
- 응용 프로그램에서 사용할 수 있도록 제공되는 인터페이스
 Open API
- 웹 서비스의 개발을 위해 서비스 업체에서 제공하는 API
- Web 2.0 기반의 대표적인 서비스
- Daum, Naver, Google, Yahoo 등
Artificial Intelligence Laboratory
How can use Open API?
 Query 요청 방법
- GET 방식




URL에 직접 데이터를 적어서 전송
ex) http://search.naver.com/search.naver?where=nexearch&query=abc..
보안에 취약하나 form을 생성할 필요가 없음
URL에 포함되어 전달되기 때문에 길이의 제한이 있음
- POST 방식
 Form을 생성하여 전송
 데이터가 숨겨져서 전송이 되기 때문에 보안성이 높음
 데이터의 길이 제한이 없음
 XML 형식으로 결과 데이터 수신
Artificial Intelligence Laboratory
한글 Encoding
 현재 인터넷에는 다양한 한글 코드가 사용 중
 EUC-KR
- KS 완성형 한글 코드
- 2,350개의 제한된 글자 표현
 UTF-8
-
UTF : Unicode Transformation Format
Unicode를 표기하고 전송하기 위한 방법
8-bit 형식으로 처리
7-bit 표준 ASCII와 완벽한 호환성으로 가장 많이 사용 중
8-bit 이상으로 확장 가능
Artificial Intelligence Laboratory
한글 Encoding
 UTF-16
- Unicode의 기본이 되는 16-bit로 unicode를 그대로 표현
- 32-bit 까지 확장 가능
 ANSI
- 7-bit ASCII의 0~127 영역 외의 128~255 영역의 표준화
- 한글 표준 : ANSI-949
Artificial Intelligence Laboratory
Naver Open API Key 등록
 Naver Developer Center
- http://dev.naver.com
 좌측 메뉴 – 키 이용등록/수정 메뉴
 E-mail / 연락처 / 사용용도 등록
Key List91e882eb2e55c968beef20fe6ea126d3
b8de24e13095b21049d660471bbc72c7
f5e0e9e35bba47b9ddc09f9f5fb23219
87b0c706f01ebc494df5ea894a6c0aaa
9863d2dd8e80a25d07eb2f9c002dff90
c9864c38585e5d5ed8f3e426b3d2c4dc
6f4ad5dbec8f118d6869767b9fbcefe4
f32441ebcd3cc9de474f8081df1e54e3
네이버 아이디가 없다면 이중에서 되는것
사용해도 됨
Artificial Intelligence Laboratory
Naver 검색 API
참조: http://dev.naver.com/openapi/apis/search/webkr
 해당 변수 값을 넣고 request 요청
Artificial Intelligence Laboratory
Naver 검색 API
 출력 결과 필드
Artificial Intelligence Laboratory
Naver 검색 API
 결과 sample data
Artificial Intelligence Laboratory
구글 검색 API
참조: http://code.google.com/intl/ko/apis/ajaxsearch/documentation/
Artificial Intelligence Laboratory
구글 검색 API
참조: http://code.google.com/intl/ko/apis/ajaxsearch/documentation/
 Google AJAX 검색 API는 자바스크립트 라이브러리
 html 코드에 ‘<script>’형식으로 삽입가능
 ASP .NET 의 코드비하인드에서 사용하려면
RegisterStartupScript 혹은
RegisterClientScriptBlock 함수를 사용해야 함
 사용법은 MSDN 참조(http://msdn.microsoft.com/kokr/library/system.web.ui.page.registerclientscript
block.aspx)
Artificial Intelligence Laboratory
구글 Weather API
 구글에서 제공하는 날씨정보는 XML 형태로 제공
- http://www.google.co.kr/ig/api?weather=busan
Artificial Intelligence Laboratory
9주차 과제
 Google/ 네이버 검색 API를 이용한 검색페이지 +
Google Weather API
기본 UI
구글 Weather API
라디오 버튼으로 선택할수 있으며
Google 을 선택하면 구글 API로
검색이 되며, 네이버를 선택하면
네이버 API 로 검색이 가능하게 한다.
Artificial Intelligence Laboratory
RadioButton
 구글 검색/ 네이버 검색 선택을 위한 용도
 RadioButtonList 로 구현
 Selected ‘true’를 이용하여 초기 선택 버튼 설정
Artificial Intelligence Laboratory
String.Format
 string 변수에 특정 format 적용 방법
 {0}, {1}, … 등은 parameter 변수 순서
 {0:D} – Decimal
 {0:F} – Fixed Point
Artificial Intelligence Laboratory
구글 Weather API
 Weather API 는 페이지가 로드될때마다 실행되므로
Page_Load 함수에서 구현
 한글 Encoding 문제가 발생하므로 아래와 같은 코드를
구현
추가
Artificial Intelligence Laboratory
구글 검색 API
 구글 검색API 는 자바스크립트로 동작
 아래그림과 같이 구글API 에서 제공하는 검색입력창이 생성되므
로, 이 폼을 분리할 필요가 있음
 자바스크립트의 getElementById 로 동작하므로
html 코드에 <div id=“searchForm”> 과 같은 항목이 있어야함
 searchControl 함수 실행 시 검색어를 받는 폼과 결과 폼을 분리
하여야 하므로 검색어를 받는 폼은
<input type=“hidden”id=“searchForm”> 과 같은식으로 사용
 자세한 내용은
http://code.google.com/intl/ko/apis/ajaxsearch/documentation
참고
 Javascript 함수 중 getElementById 참고
Artificial Intelligence Laboratory
구글 검색 API
 대략적인 코드는 다음과 같음
Artificial Intelligence Laboratory
참고사이트
 http://ultteky.egloos.com/10203768 RegisterClientScriptBlock 함수사용관련
 http://dev.naver.com/openapi/apis/search/webkr 네이버 웹문서 API 사용
 http://code.google.com/intl/ko/apis/ajaxsearch/doc
umentation/ - 구글AJAX 검색 API 사용
 http://blog.daum.net/akizora/7613497 구글 Weather API이용하기
Artificial Intelligence Laboratory