Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

개발자를 위해 다양한 놀이기구를 선사?하는 구글. 이번에는 Search API 를 가지고 놀아보기로 했다. 예전에는 SOAP를 제어해야 하기 때문에, 높음 품질의 API 활용이 가능했지만, 그만큼 높은 수준의 프로그래밍 기술을 필요로 했었다. 해서 구글은 누구나 어렵지 않게 접근 가능하도록 하기 위해서 Ajax(:12) 버젼의 Search API를 공개하기에 이르렀다.

관련 문서

이유

구글 Search API 를 분석하는 이유는 재미있을 거 같아서 이기도 하지만, Google News Bar와 같은 서비스를 만들어 보기 위함입니다. Google Blog Bar를 만들려고 하는 겁니다. 아마도 조만간에 구글에서 Blog Bar도 만들어낼거 같긴 하지만 아무렴 어떻습니까. 나름대로 재미있으면 되는거지요.

API Key와 기본 검색창 생성

Search API 는 구글의 시스템자원을 사용하는 것이므로 사용자가 많아질 수록 구글의 시스템의 부담도 그만큼 커지게 된다. 그래서 인증받은 사이트에 대해서 API를 사용할 수 있도록 하고 있다. 그렇다고 해도 검색을 붙일 사이트명만 명시하면 끝이므로, 거의 제약이 없다고 보면 된다. - 어디선가 하루쿼리 몇개로 제한되어 있고, 그 이상을 처리하기 위해서는 구글과 협상을 해야한다는 얘기는 들은적이 있는거 같다. -

http://code.google.com/apis/ajaxsearch/web.html 을 방문해서 Sign Up과정을 마치면 Ajax Search API Key와 Script를 받을 수 있다.
ABQIAAAA6RfHj_eQ3lQliWy_PsFuLBTBEKVYzM-OVdgoN_HCBQU...
그다음 다음과 같은 스크립트를 복사해서 사이트에 붙이기만 하면 끝이다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>My Google AJAX Search API Application</title>
    <link href="http://www.google.com/uds/css/gsearch.css" type="text/css" rel="stylesheet"/>
    <script src="http://www.google.com/uds/api?file=uds.js&amp;v=1.0&amp;key="여기에 Key 입력"></script>
    <script language="Javascript" type="text/javascript">
    //<![CDATA[

    function OnLoad() {
      // Create a search control
      var searchControl = new GSearchControl();

      // Add in a full set of searchers
      var localSearch = new GlocalSearch();
      searchControl.addSearcher(localSearch);
      searchControl.addSearcher(new GwebSearch());
      searchControl.addSearcher(new GvideoSearch());
      searchControl.addSearcher(new GblogSearch());

      // Set the Local Search center point
      localSearch.setCenterPoint("New York, NY");

      // Tell the searcher to draw itself and tell it where to attach
      searchControl.draw(document.getElementById("searchcontrol"));

      // Execute an inital search
      searchControl.execute("Google");
    }
    GSearch.setOnLoadCallback(OnLoad);

    //]]>
    </script>
  </head>
  <body>
    <div id="searchcontrol"/>
  </body>
</html>
아래는 실제 적용한 예다.
검색 결과 :