GOOGLE WEB API


kjune.com의 검색을 담당할 좋은 알고리즘을 찾아다니다가 좋은 것을 하나 알아냈다. Google에서 제공하는 웹서비스가 있었다. 링크는 api.google.com에서 확인할 수 있다.

예전부터 웹서비스, XML, xml-rpc, Soap 이런것들에 관심이 많았었는데, 더 깊이 알 수 있는 좋은 기회가 아닌가 싶다.

다음의 내용은 Google Web API 요약한 글이다.

일반적인 질문들

1.Google Web API란?

개발자로 하여금 웹에서 정보를 찾고 조작할 수 있게 해주는 베타 웹 프로그램

  1. 누구를 위한 것이냐?

개발자와 연구원들

  1. 작동원리?

원격으로 Google Web APIs Service에 접속한다.

SOAP(Simple Object Access Protocol)을 기반으로 한다.

  1. 유용한점?

구글의 웹서치에 질의를 보낼 수 있다.

  1. 어떤 기능이 첨부되느냐?

① 40억 웹페이지의 인덱스가 있는 구글의 인덱스에 질의 및 구조화된 결과를 참조하기

② 글자 스펠링 체크

③ 구글 사이트와 동일한 형태의 웹 API를 제공한다.

  1. 이걸로 뭘 만들지?

– 전적으로 개발자의 창의력에 달려있다.

① 주기적으로 웹을 검색하는 프로그램

② 웹의 정보량을 측정하는 시장 분석도구

③ 명령어, 삐삐 다른 비주얼라이제이션 어플리케이션을 통해서 검색

④ 웹의 정보와 연동하는 게임? // 이거 재밌을지도..

  1. 제한?

하루에 쿼리를 1000개만 보낼 수 있음

  1. 뭘 해야하냐?

Google Account를 만들어서 라이센스를 받아야 한다.

  1. 계정 만드는 법?

가입해서 메일이랑 비밀번호 적어주라.

  1. 라이센스 여러개 만드는 법은?

없다.

  1. 라이센스 잃어버렸으면?

다시 받아라

  1. 왜 하루에 1000개의 쿼리냐?

실험적인 공짜 프로그램이니까.

  1. 상업용 프로그램 만들 수 있냐?

구글로 부터 명문화된 동의서를 얻어라

계정은 개인용도로 밖에 못한다.

  1. 질문은?

구글 그룹 : google.public.web-apis

메일 : [email protected]

  1. 하루에 1000개 이상 쓰고 싶으면?

연락해봐라.

  1. 개발자 프로그램은 있냐?

없다.

  1. 기술지원은?

온라인 faq와 메일이 있는데 100% 답장은 장담못함

  1. API의 Developer’s kit에 있는 코드를 써도 되냐?

샘플 클라이언트 자바 코드, .NET 예제, WSDL파일이 포함되었다. 몇가지 3rd party프로그램도 있는데 동봉된 내용대로 사용하면 된다. 구글이 동봉한 라이센스도 있다.

  1. “beta”란 뜻?

완전하지 않아서 한동안 쉴지도, 관둘지도 모른다는 뜻이다.

실험적인 프로젝트다.

다른 구글의 프로젝트와의 연계

별로 중요하지 않아보여 생략

가격에 관한 질문

마찬가지의 이유로 생략.

결론은 공짜고 나중에 돈주고 팔 계획은 아직까지는 없다 정도

기술적인 질문

  1. 어떻게 Google Web Application이 구성되어 있냐?

웹서비스, SOAP methods 지원, WSDL 파일이 몇가지를 지원한다.

  1. 웹서비스가 뭐냐?

프로그램에서 인터넷을 통해서 호출하는 어떤 것?

더 자세한 것은

http://www.oreillynet.com/lpt/a//webservices/2002/02/12/webservicefaqs.html에서 찾아보도록

  1. SOAP이 뭐냐?

Simple Object Access Protocol

HTTP를 통해서 XML형태로 데이타를 전송하게 해주는 것이다.

개발자 SOAP faq : http://www.soaprpc.com/faqs/SoapFAQ.html

W3의 Spec : http://www.w3.org/TR/SOAP

  1. WSDL이 뭐냐?

Web Service Discription Language.

웹서비스의 형식을 기술한다. CORBA의 IDL과 유사

웹서비스를 호출하는 방법을 알고자 할 때에는 이것만 보면 된다.

공식적인 WSDL의 정의는 여기에 있다.

http://www.w3.org/TR/wsdl

  1. 왜 라이센스가 필요하냐?

구글에서 유일하게 인식하는 바법

  1. 어떻게 라이센스 키를 받느냐?

회원가입

  1. 하루에 1000쿼리 이상 보내면 어떻게 되나?

SOAP Fault 문서가 간다.

  1. 하루에 받을 수 있는 결과의 한도는?

쿼리당 10개, 1000번까지

  1. 프록시?

프록시를 뚫고 나가는 것이 SOAP을 쓰는 이유인데 실제로는 안 될때도 있다.

  1. 누가 쿼리를 기록하고 있나?

안한다. 개인이 알아서 할 것

  1. 내 코드를 구글에 보내줘도 되나?

맘대로 해라. 메일로 보내길..

  1. 개발자 킷트의 굿엏ㅍ훔

WSDL 파일 정의

자바 클라이언트 랑브러리

닷넷 문서

PErl

예제 SOAP 메시지

다른 언어에서도 잘 되야 함

  1. 지원되는 언어는?

Java, Perl, Ruby, C#

(Apache SOAP and Axis, SOAP::Lite version 0.52, SOAP4R,

다른 언어는 테스트는 안해봤는데 잘되야 한다고 생각함.

  1. WSDL파일가지고 뭐하냐?

웹서비스 툴킷에서 WSDL 파일을 받아서 자동으로 클라이언트측 프록시를 만들어서 구글 웹 API를 호출할 수 있게 해준다.

  1. WSDL은 온라인에서 볼 수 있냐?

http://api.google.com/GoogleSearch.wsdl

  1. 예제 SOPA 메시지는 어디서 볼 수 있냐?

SDK의 /soap-examples 디렉토리

  1. 내가 만든 SOAP 패킷을 보면서 디버깅 할 수 있나?

“sniff”할 수 있는 툴을 통해서 할 수 있다. 주로 HTTP proxy로 사용할 수 있고, 아파치의 Axis가 좋은 것 같다.

  1. WSDL에서 만들면 되지 왜 자바 클라이언트 코드가 필요한거냐?

개발자들이 쉽게 시작할 수 있도록 해줄려고

  1. 자바로 개발하려면 필요한 패키지는?

googleapi.jar

숙련된 사람은 자신이 가지고 있는 Java SOAP에 관련된 코드를 사용해도 되고, WSDL을 이용해서 코드를 만들어도 된다.

  1. Perl로 개발하려면 필요한 패키지는?

SOAP::Lite Version 0.52 혹은 최신버전

  1. “Wrong Boolean value ‘false’” 에러는?

SOAP::Lite 0.52 이전버전에 버그가 있어서 그렇다 최신버전으로 바꿀 것

  1. .net에서 지원하는 언어는?

wsdl.exe로 생성한 WSDL로 부터 C# 클라이언트 프로그램을 만들 수 있었다. .net의 어떤 다른 언어로도 제작이 가능하다.

  1. C# 패키지중 필요한 것은?

.net framework만 있으면 된다.

  1. MS .net으로 가장 간단한 프로그램을 만드는 절차는?

① 새 프로젝트를 만든다. 윈도우 어플리케이션

② wsdl.exe GoogleSearch.wsdl 이라고 친다. 그러면 GoogleSearchService.cs 라는 파일이 만들어진다.

③ System.Web.Services DLL을 프로젝트에 레퍼런스로 추가한다.

④ GoogleSearchService를 사용하는 코드를 작성한다.

  1. office XP등의 어플리케이션에서 구글 웹서비스를 실행할 수도 있나?

현재 office XP에서 지원하는 SOAP은 간단한 SOAP 타입만 지원하는데, 구글 웹 API에서는 더 복잡한 타입을 제공하니까 XP와 호환되지는 않을 것이다.

  1. 영어이외의 언어는?

현재로선 “UTF-8″을 지원한다. 세상의 어떤 언어라도 지원이 가능할 것이다. 하지만 중국어, 일본어, 한국어와 같은 경우에는 제대로 동작하지 않을 수 있다.