Etc..

공공데이터포털 REST API JSON으로 간단하게 이용해보기

공기팝님 2023. 1. 30. 01:49
반응형

공공데이터포털에는(https://www.data.go.kr/) 누구나 사용할 수 있는 수많은 공공데이터를 제공합니다.

우선 회원가입을 하신 뒤 원하시는 키워드를 검색합니다.

저는 날씨를 예로 공공데이터를 사용해 보겠습니다.

공공데이터포털

검색한 후 오픈 API 탭에서 저는 3번째에 있는 날씨 조회서비스를 이용해 보겠습니다.

우측 하단에 활용신청을 누르고 활용이유를 간단하게 적은 뒤 사용하실 수 있습니다.


활용신청 현황은 마이페이지에서 확인이 가능합니다.

오픈 API 마이페이지



승인된 데이터 상세정보

OPEN API 상세정보

여기서부터 중요합니다.
우선 문서에 나와있듯이 일반 인증키는 2개가 발급되는데 그중 하나를 사용합니다.
(API 환경 또는 API호출 조건에 따라 인증키가 적용되는 방식이 다를 수 있기 때문 - 문서에 나와있음)

이제 공공데이터포털에서 제공해 주는 데이터를 사용해 보겠습니다.
(우선 참고문서 기상청27_관광코스별_관광지_상세_날씨_조회서비스_오픈API활용가이드.docx
다운로드하여 놓습니다.)

활용신청 상세정보 중 3번째에 있는 동네예보조회를 이용해 보겠습니다.
미리 보기 '확인'을 누르면 저렇게 요청변수에 대한 정보를 알려줍니다.
[아래 미리 보기 누르면 url도 생성됩니다.]

API Request Parameter info

아까 다운로드 한 참고문서)기상청27_관광코스별_관광지_상세_날씨_조회서비스_오픈API활용가이드.docx


이제 요청만 날리면 됩니다.
요청하는 방법은 그림(승인된 데이터 상세정보)에서 End Point + 요청변수를 넣으면 됩니다.

보기 쉽게 예를 들면
ex) https://apis.data.go.kr/1360000/TourStnInfoService <<End Point정보
/getTourStnVilageFcst? << 동네예보조회
serviceKey=발급받은 인증키를 넣으시면 됩니다.    <<부터 Request Parameter
&pageNo=1
&numOfRows=10
&dataType=JSON
&CURRENT_DATE=2019122010
&HOUR=24
&COURSE_ID=56

(GET 방식으로 요청할 때 쿼리스트링처럼 넣으시면 됩니다.)
최종 요청 : https://apis.data.go.kr/1360000/TourStnInfoService/getTourStnVilageFcst?serviceKey=받은인증키&pageNo=1&numOfRows=10&dataType=JSON&CURRENT_DATE=2019122010&HOUR=24&COURSE_ID=56



마지막 COURSE_ID를 56으로 했는데요
그 이유는 다운로드한 문서를 참고하여 남산의 정보를 보고 싶어서입니다.
(참고문서 기상청27_관광코스별_관광지_상세_날씨_조회서비스_오픈API활용가이드.docx)

COURSE_ID 정보


이제 요청만 하면 끝입니다.
Postman을 이용해 보겠습니다.

Post man에서Enable SSL certificate verification은 off 후 실행해야 합니다.
참고 : https://stackoverflow.com/questions/65793225/postman-error-unable-to-verify-the-first-certificate-when-try-to-get-from-my
https://www.data.go.kr/index.do
이제 자유롭게 다른 공공데이터들을 이용해 보세요 ~

반응형