혹시 php 이용해서 open API 사용 해보신분 있나요? 채택완료
천사나라
8년 전
조회 4,251
http://awamp.duckdns.org/naverbook.php">http://awamp.duckdns.org/naverbook.php 이게 네이버 book 공개 api 사용해서 정보 가져오는건데요. (소스는 아래에 첨부했습니다)
문제는 정보중에 책제목하고 작가 정도만 가져오고 싶은데 어떻게 해야 할지를 모르겠네요.
https://developers.naver.com/docs/search/book/">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개
채택된 답변
+20 포인트
8년 전
응답결과에서 정보는 밑의 코드처럼 긁어오시면됩니다.
</p><p> $jsonData = json_decode($response);</p><p> </p><p> echo $jsonData->items[0]->title;</p><p> echo "\r\n";</p><p> echo $jsonData->items[0]->author;</p><p> echo "\r\n";</p><p>
요청변수는 밑에처럼 추가해보시기 바랍니다.
</p><p>$url = "<a href="<a href="https://openapi.naver.com/v1/search/book.json?query=" target="_blank" rel="noopener noreferrer">https://openapi.naver.com/v1/search/book.json?query=</a>"><a href="https://openapi.naver.com/v1/search/book.json?query=" target="_blank" rel="noopener noreferrer">https://openapi.naver.com/v1/search/book.json?query=</a></a>".$encText."&d_titl=제목&d_auth=저자명";
</p><p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
천사나라
8년 전
�
천사나라
8년 전
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=저자명";
이건 넣어도 변화가 없는데 아직 사용 방법을 잘 모르겟어요. 공부를 더 해야 할듯.
댓글을 작성하려면 로그인이 필요합니다.
8년 전
예를 들어 api 요청변수에 보면 아래와 같이 되어 있는데 이걸 어떻게 적용해야 될지 몰겠네요.
| d_titl | string | N | - | 책 제목 검색 | |
| d_auth | string | N | - | 저자명 검색 |
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
표에다 제목 저자..기타 이런식으로 말이죠. 요청변수 결과 값을 표에다 어떻게 넘겨줘야 할지 모르겠네요.