채택완료
혹시 php 이용해서 open API 사용 해보신분 있나요?
http://awamp.duckdns.org/naverbook.php 이게 네이버 book 공개 api 사용해서 정보 가져오는건데요. (소스는 아래에 첨부했습니다)
문제는 정보중에 책제목하고 작가 정도만 가져오고 싶은데 어떻게 해야 할지를 모르겠네요.
https://developers.naver.com/docs/search/book/ 요기 가면 요청 변수들이 있는데 이걸 어떻게 적용해야 할지를 모르겠다는겁니다.
혹시 아시는분 계시나 해서 물어봅니다.
<?php
$client_id = "";
$client_secret = "";
$encText = urlencode("우분투");
$url = "https://openapi.naver.com/v1/search/book.json?query=".$encText; // json 결과
$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);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec ($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "status_code:".$status_code."
";
curl_close ($ch);
if($status_code == 200) {
echo $response;
} else {
echo "Error 내용:".$response;
}
?>
답변 4개 / 댓글 3개
채택된 답변
+20 포인트
응답결과에서 정보는 밑의 코드처럼 긁어오시면됩니다.
Copy
$jsonData = json_decode($response); echo $jsonData->items[0]->title; echo "\r\n"; echo $jsonData->items[0]->author; echo "\r\n";
요청변수는 밑에처럼 추가해보시기 바랍니다.
답변에 대한 댓글 2개
itmes[0] 안의 숫자를 넣을때 마다 한권씩 출력되네요. 여러권 출력할려면 어떻게 해야하죠? for 문을 사용해서 items 를 계속 돌리면 될것 같은데 어떻게 해야할지 ???
$url = "https://openapi.naver.com/v1/search/book.json?query=".$encText."&d_titl=제목&d_auth=저자명";
이건 넣어도 변화가 없는데 아직 사용 방법을 잘 모르겟어요. 공부를 더 해야 할듯.
$url = "https://openapi.naver.com/v1/search/book.json?query=".$encText."&d_titl=제목&d_auth=저자명";
이건 넣어도 변화가 없는데 아직 사용 방법을 잘 모르겟어요. 공부를 더 해야 할듯.
답변을 작성하려면 로그인이 필요합니다.
표에다 제목 저자..기타 이런식으로 말이죠. 요청변수 결과 값을 표에다 어떻게 넘겨줘야 할지 모르겠네요.