네이버 오픈 API를 활용한 앱개발
일반적으로 어플의 콘텐츠를 운영자가 저장하는 방법도 있지만 뉴스나 리뷰 그리고 지역 정보 같은 경우 포탈 사이트를 운영하게 되면 콘텐츠의 빈약성을 해소할수 있는 이점이 있습니다.
포탈 사이트의 블로그나 뉴스 그리고 다양한 지도 서비스등을 활용할수 있는 방법입니다.
네이버 오픈 API를 활용하려면 서비스 키값을 발급 받아야 합니다. 네이버에 사용허락을 받는다고생각하시면 될것 같습니다.
https://developers.naver.com/docs/search/news
위 링크를 선택하시면 등록 가능하실겁니다. 키를 일단 발급 받으면 여러 설명들이 나오는데 PHP기준으로간단한 소스를 만들면 충분히 개발됩니다. 여기서 나오는 값들은 자신의 키갑을 입력하시면 됩니다.
<?php
$client_id = "발급받은아이디";
$client_secret = "발급받은키값";
$encText = urlencode("뉴스의 검색 키워드");
$url = "https://openapi.naver.com/v1/search/news.xml?query=".$encText; // json 결과
// $url = "https://openapi.naver.com/v1/search/blog.xml?query=".$encText; // xml 결과
$is_post = false;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, $is_post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$headers = array();
$headers[] = "X-Naver-Client-Id: ".$client_id;
$headers[] = "X-Naver-Client-Secret: ".$client_secret;
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec ($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// echo "status_code:".$status_code." ";
curl_close ($ch);
$xml = simplexml_load_string($response);
//echo print_r($xml);
$count=$xml->channel->display;
?>
<dl class="uk-description-list-line">
<?
for ($i = 0; $i < $count; $i++) {
$title=$xml->channel->item[$i]->title;
$link=$xml->channel->item[$i]->link;
$description=$xml->channel->item[$i]->description;
$bloggername=$xml->channel->item[$i]->bloggername;
?>
<dt onclick="open_news('<?=$link?>');"><?=$title?></dt>
<?
}
?>
</dl>
이렇게 PHP파일을 만들면 naver_news.php로 저장하시고 이 파일을 ajax로 받으시면 됩니다.
<div style="padding:2%;">
<div class="uk-article under_bar">
<h3 class="uk-article-lead">주요뉴스</h3>
</div>
<? include "naver_news.php"; ?>
</div>
전이렇게 해서 app_data.php로 저장한것을 phonegap의 ajax로 가져 와서 처리 했습니다.
어플에서 나오도록 처리한 화면입니다.
다양한 뉴스를 실시간으로 보여 줄수 있는 서비스가 가능합니다.