네이버 검색 API 연동 에러 관련하여

네이버 검색 API 연동 에러 관련하여

QA

네이버 검색 API 연동 에러 관련하여

본문

안녕하세요?

기존에 공개된 소스를 사용하여 네이버 검색 API를 적용하려는데,

오류가 납니다.

 

클라이언트 아이디와 비밀번호는 제대로 입력을 했구요,

다른 분들이 잘 사용하시는 소스라서 특별히 안될 이유가 없다고 보는데요,

 

객체를 생성할 수 없다면서 죽어 버립니다.

원인이 무엇일까요?

 


class NaverProxy {
    public function queryNaver($query, $target) {
	$client_id = "xxxxx";
	$client_secret = "yyy";
 
	$query = urlencode("버스");
	$target = "news";
	$url = "https://openapi.naver.com/v1/search/".$target.".xml";
	$url = sprintf("%s?query=%s&display=4&start=1",  $url, $query);
	$is_post = false;
 
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	//curl_setopt($ch, CURLOPT_GET, $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);
 
	$data = curl_exec ($ch);
	curl_close ($ch);
 
	return $data;
    }
}
 
$naverproxy = new NaverProxy();
 
$xmlstring = $naverproxy -> queryNaver($_POST['query'], $_POST['target']);
 
$xml = simplexml_load_string($xmlstring) or die("에러: 객체를 생성할 수 없습니다");
 

이 질문에 댓글 쓰기 :

답변 2

객체를 생성할수 없습니다 는 사용자가 출력하는 에러메시지고

네이버측에서 발생하는 에러메시지를 확인해봐야 합니다.

 

echo $xmlstring; 

 

해서 뭐가 출력되는지 확인해보세요 

 

 $xml = simplexml_load_string($xmlstring);

 

이렇게 변경해보시던가

해보니 아무것도 출력이 안되구요,
네이버에서 예시한 소스로 테스트를 해보니 status_code가 0으로 나옵니다.
그렇다면 아예 네이버에 접속해서 결과를 못 받아오고 있는 상황인가요?

0 으로 나온다는건 호스트에 접속할수 없을때 나오는 리턴값입니다.

 

이렇게 에러 확인해보시고

 

print curl_error($ch);

 

쉘에서 이렇게 실행시켜보세요

 

http://static.se2.naver.com/static/img/bg_b1.png) repeat;_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://static.se2.naver.com/static/img/bg_b1.png',sizingMethod='scale');color:#888888;">

 

curl  "https://openapi.naver.com/v1/search/blog.xml?query=%EB%A6%AC%EB%B7%B0&display=10&start=1&sort=sim" \
    -H "X-Naver-Client-Id: {애플리케이션 등록 시 발급받은 client id 값}" \
    -H "X-Naver-Client-Secret: {애플리케이션 등록 시 발급받은 client secret 값}" -v


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

회원로그인

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