왜 실행이 안되는지 궁금합니다.
본문
NHN 오픈 API 를 활용한 매시업 이라는 책을 보고 그대로 입력했는데 책에서는 실행된다고 하는데 저는 실행이 안되네요. 뭐가 잘못된건지 모르겠습니다. 책에는 api key 입력란이라고 되어 있는데 네이버에는 api key 만 따로 있는게 아니고 Client ID 와 Client Secret 이 있어서 client secret 만 입력했습니다.
왜 작동을 안하는지 궁금하네요. 코드가 잘못된게 있나요?
링크는 여기 올렸습니다. : http://awamp.duckdns.org/nhnbook.php
<?php
define('NAVERKEY', ''); // 여기는 client ID 와 client secret 중에서 client ID 입력했음.
function callOpenApi($query, $target, $display, $start){
$encodequery = urlencode($query);
$url = "http://openapi.naver.com/search?query=$encodequery&target=" . $target ."&display=" . $display ."&start=" . $start ."&key=" . NAVERKEY;
$channel = simplexml_load_file($url)->channel;
return $channel;
}
$query = "";
$items = array();
if(isset($_GET["query"])){
$query = $_GET["query"];
$channel = callOpenApi($query, 'book', 10, 1);
$items = $channel->item;
}
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>네이버 책 검색</title>
</head>
<body>
<!--검색 조건 입력폼-->
<form name="form" method="get" action="<?php echo$_SERVER['PHP_SELF']?>">
<input type="text" name="query" value="<?php echo $query?>">
<input type="submit" value="책검색">
</form>
<!--검색결과-->
<ul>
<?php
foreach ($items as $item) {
?>
<li>
<a href="<?php echo$item->link; ?>"> <?php echo$item->title;?></a>
</li>
<?php
}
?>
</ul>
</body>
</html>
답변 1
우선 호출 uri 가 바뀐건지
를 호출했을 때
{"errorMessage":"/search?query=test : API does not exist.","errorCode": "051"}
와 같은 메세지가 나오네요.
https://developers.naver.com/docs/search/blog/ 에서 확인사항 점검하셔야 할듯 합니다.
답변을 작성하시기 전에 로그인 해주세요.