공공데이터 관련 질문 드립니다.
본문
안녕하세요
아래에 있는 공공데이터를 활용해서 만들고 있는데요
https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15077681
문제는 아래 코드로 하고 나서 echo "$item->centName";이렇게 넣고 출력이 되는지 확인을 했더니 출력이 전혀 되지 않아서요 혹시 $url = 'http://apis.data.go.kr/B460014/vmsdataview/getCenterList'; /*URL*/ 이게 잘 못 된건지 모르겠습니다. 혹시 $url는 어떤 것을 넣어야 할까요 이상하게 안되서요
전문가분의 조언 부탁 드립니다. 어떤 걸 넣어야 할지 모르겠습니다. 나머지는 맞는 것 같은데요 출력이 되지 않아서요
아 그리고 서비스키는 정상적으로 넣었습니다. 발급 받은 것으로 넣었습니다.
<?php
$ch = curl_init();
$url = 'http://apis.data.go.kr/B460014/vmsdataview/getCenterList'; /*URL*/
$queryParams = '?' . urlencode('serviceKey') . '=4U6WdTrEX4UGz7wp2NJEu7uLmfyVPLAYsUNa3OEJMSJaTRF7pAZfi1Uw3%2FgHMsB0C22DJyRxAOKCaNolt8l%2Blw%3D%3D'; /*Service Key*/
$queryParams .= '&' . urlencode('numOfRows') . '=' . urlencode('10'); /**/
$queryParams .= '&' . urlencode('pageNo') . '=' . urlencode('1'); /**/
$queryParams .= '&' . urlencode('areaCode') . '=' . urlencode('0101'); /**/
$queryParams .= '&' . urlencode('centCode') . '=' . urlencode('06098108'); /**/
$queryParams .= '&' . urlencode('centType') . '=' . urlencode(''); /**/
$queryParams .= '&' . urlencode('centName') . '=' . urlencode(''); /**/
curl_setopt($ch, CURLOPT_URL, $url . $queryParams);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($ch);
curl_close($ch);
// XML 파싱
$xml = simplexml_load_string($response);
?>
<ul class="volunteer-list">
<?php
foreach ($xml->body->items->item as $item) {
echo "$item->centName";
}
?>
</ul>
답변 3
https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15077681
참고문서 첨부파일
오픈API 활용가이드(VMS) v1.3.docx 에서
봉사활동처코드 centCode 를 빈값으로 보내면 리스트가 나오는것 같습니다.
...
//$queryParams .= '&' . urlencode('centCode') . '=' . urlencode('06098108'); /**/
$queryParams .= '&' . urlencode('centCode') . '=' . urlencode(''); /**/
...
api 가이드와 나오는 내용을 보고 말씀드릴수 있을듯 합니다.
echo $item->centName;
쌍따옴표 없이 하셔도 됩니다.
위 코드를 그대로 넣고 실행 하면 화면에
echo $item->centName;해당하는 내용이 출력이 되어야 하는데 출력이 되지 않아서요
답변을 작성하시기 전에 로그인 해주세요.