네이버검색api 연동하기

네이버검색api 연동하기

QA

네이버검색api 연동하기

본문

우선 이너넷에서 구한 소스입니다. 좀 길더라도 봐주세요.

-------------------------------------------------------

 

오픈 api를 적용하는 입장에서 가장중요한 검색요청에대한 가이드입니다.

 

요청변수중 target 이 중요합니다.

 

네이버 검색 target 은 

 

블로그 blog, 뉴스 news,  카페 cafe, 이미지 image, 

 

책 book, 영화 movie, 지식인 kin, 지역 local 등을 말합니다. 

 

네이버 검색 api 서버는 지정한 target의 검색결과를 응답합니다.

 

 

 

그럼 실제로 구현해보겠습니다.

 

코드이그나이터를 사용해서 테스트했습니다.

 

코드는 그 점 감안하고 봐주세요.

 

 

NaverSearch.php

=====================================================================================================================

class NaverSearch{

 

var $key = "*******************"; // 사용자가 발급받은 오픈API 키 

var $searchUrl = "http://openapi.naver.com/search"; // 오픈API 호출URL

var $target = "";

var $query = "";

 

function __construct() { 

}

function query($query)

{

   $url = sprintf("%s?query=%s&target=%s&key=%s&display=100", $this->searchUrl, $this->query, $this->target, $this->key);

   $data =file_get_contents($url);

   $xml = simplexml_load_string($data);

 

   return $xml;

}

 

/**

* API의 결과를 Json 으로 encode 하려 반환하는 메소드

* XML을 직접 parsing 하지 않고 json으로 변환하여 반환한다. 

*/

function getSearch()

{       $xml = $this->query($this->query);

   $result = json_encode($xml);

 

   return $result; 

}

} 

========================================================================================================================

 

 

naverproxy.php

======================================================================================================================== 

$this->load->library('NaverSearch');

$this->naversearch->target = "검색타깃";

$this->naversearch->query = "검색어";

echo $this->naversearch->getSearch();

======================================================================================================================== 

 

 

이제 클라이언트에서 검색결과를 출력해주는 것만 남았습니다.

 

search.html

 

======================================================================================================================== 

function callAjax(query) {

$.ajax({

  url:'naverproxy.php',

  dataType:'json',

  type:'POST',

  data:{'query':encodeURIComponent (query), 'target': 'blog'},

  success:function(result){

   if(result['channel']['display'] > 0){             

    for(var i in result['channel']['item']){

     var item = result['channel']['item'][i];

    }

   

   }else{

 

   }

  }

});

}; 

========================================================================================================================

 

ajax를 이용해서 검색결과를 json으로 응답받고 파싱해서 화면에 출력하면 됩니다.

-----------------------------------------------

 

이해가 안되는 점은

  1. 위의 소스를 보면 NaverSearch.php , naverproxy.php, search.html 이렇게 3개의 파일로 설명하고 있는데​ 소스 어디에도 다음 파일로 결과값이나 쿼리값을 넘기는 내용이 없습니다.
  2. 위 소스대로 하면 search.html에 네이버검색 결과값이 그대로 출력되는 건지요?
  3. 코드이그나이터로 테스트했다고 하는데 그누보드 상태에서는 사용할 수 없는 건지요?

​잘 아시는 분들께는 멍청한 질문이겠지만 저같은 문외한들한테는 참 어려운 것 같습니다.

네이버검색API를 그누보드에 연동하는 방법이나 소스 아시는 분들 좀 도와주세요 

이 질문에 댓글 쓰기 :

답변 4

궂이 CI로 되있는 소스를 바꾸기보다 api 예제 다른것도 많아서

그것 참고하는게 더좋을거같습니다만~ 위 내용도 단순히 검색어 던지면

json으로 받아서 화면 그대로 뿌려주는 소스에 지나지않습니다.

그누보드에도 얼마든지 적용가능합니다

저도 예전에 간단하게 테스트 해본적이 있습니다만

http://developer.naver.com/wiki/pages/Tutorial_Book_Ajax

 

오픈 api 사이트에서 나와있는 예제가 그나마 기초적이고 제일맞는거같네요

그대로 적용가능합니다

 

톰소여z 님 덕분에 많이 배웠습니다.

 

드디어 성공했습니다. ^^

이제 남은 일은 돌아오는 결과값들을 보기 좋게 가공하는 일만 남았네요.

 

원리를 알지 못하고 방법을 찾으니 해결될 리가 없지요.

그냥 폼으로 값을 날리고 링크페이지에서 iframe으로 ... 어처구니 없지요? ㅎ

 

정말 감사합니다.

오늘도 이렇게 친절한 sir에서 소중한 한가지 배워갑니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,663 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT