JAVASCRIPT

javascript) 기상청 Open API를 이용한 날씨 위젯 만들기 1

Neda 2022. 8. 13. 00:29

목표: 사용자의 위치한 곳의 기상 정보를 가져와 위젯 만들기

 

 

1. 기상청 단기예보 API 발급하기

 

1.1 공공데이터 포털에서 로그인 후 "활용신청"을 눌러 Open API 신청하기

 

기상청_단기예보 ((구)_동네예보) 조회서비스

초단기실황, 초단기예보, 단기((구)동네)예보, 예보버전 정보를 조회하는 서비스입니다. 초단기실황정보는 예보 구역에 대한 대표 AWS 관측값을, 초단기예보는 예보시점부터 6시간까지의 예보를,

www.data.go.kr

신청이 완료되면 api 요청시 사용하는 인증키가 발급된다.

 

1.2 발급받은 서비스 인증키와 참고문서 확인하기

참고문서는 Open API를 활용하기 위한 가이드이므로 필수로 다운로드하여 확인한다.

여기서 인증키는 Encoding을 위한 일반 인증키를 사용한다.

 


 

2. 발급받은 인증키로 API 요청 보내 보기

 

2.1 API요청을 위한 변수에 대한 설명

단기예보 서비스는 4가지의 종류가 있다.

  1. 초단기실황 조회
  2. 초단기예보 조회
  3. 단기예보 조회
  4. 예보버전 조회

여기서는 단기예보조회를 사용해 데이터를 받아온다.

"개발계정 상세보기" 페이지에서 아래로 내리면 

상세기능정보가 나오고 여기서 API 요청을 보내 볼 수 있다.

요청변수에 대한 내용은 오픈API활용가이드 워드 파일 10page에 있으며

아래와 같다.

항목명(영문) 항목명(국문) 항목크기 항목구분 샘플데이터 항목설명
serviceKey 인증키 100 1 인증키
(URL Encode)
공공데이터포털에서 발급받은 인증키
numOfRows 한 페이지 결과 수 4 1 50 한 페이지 결과 수
Default: 10
pageNo 페이지 번호 4 1 1 페이지 번호
Default: 1
dataType 응답자료형식 4 0 XML 요청자료형식(XML/JSON)
Default: XML
base_date 발표일자 8 1 20210628 21628일발표
base_time 발표시각 4 1 0500 05시 발표
* 하단 참고자료 참조
nx 예보지점 X 좌표 2 1 55 예보지점의 X 좌표값
*별첨 엑셀 자료 참조
ny 예보지점 Y 좌표 2 1 127 예보지점의 Y 좌표값
*별첨 엑셀 자료 참조
  • base time은 워드 파일 21페이지
  • nx,ny에 대한 내용은 엑셀 파일에 정리되어 있다.

 

2.2 변수 지정 후 요청 보내기

정리하자면 아래 내용은 13일 0시 14분에 창원시 성산구 중앙동에 대한 예보를 알아보기 위해

가장 가까운 이전 발표 시각인 12일 23시 발표 자료를 요청하는 것이다.

 

2.3 API 요청 응답 확인하기

요청 응답은 resultCode와 resultMsg를 통해 응답의 상태를 확인하고

fcstDate, fcstTime, category, fcstValue를 통해 예보에 대한 정보를 확인 할 수 있다.

예를 들어 두 번째 행의 category:"TMP"는 terperate의 약자로

fcstTime:0시에 fcstValue:28도 기온을 예보하고 있다

항목명(영문) 항목명(국문) 항목크기 항목구분 샘플데이터 항목설명
numOfRows 한 페이지 결과 수 4 1 50 한 페이지당 표출
데이터 수
pageNo 페이지 번호 4 1 1 페이지 수
totalCount 데이터 총 개수 10 1 1 데이터 총 개수
resultCode 응답메시지 코드 2 1 00 응답 메시지코드
resultMsg 응답메시지 내용 100 1 NORMAL SERVICE 응답 메시지 설명
dataType 데이터 타입 4 1 XML 응답자료형식 (XML/JSON)
baseDate 발표일자 8 1 20210628 21628일 발표
baseTime 발표시각 6 1 0500 05시 발표
fcstDate 예보일자 8 1 20210628 21628일 예보
fcstTime 예보시각 4 1 0600 6시 예보
category 자료구분문자 3 1 TMP 자료구분코드
* 하단 코드값 정보 참조
fcstValue 예보 값 2 1 21 * 하단 코드값 정보 참조
* TMP, TMN, TMX, UUU, VVV, WAV, WSD
자료는 실수 또는 정수로 제공
nx 예보지점 X 좌표 2 1 55 입력한 예보지점 X 좌표
ny 예보지점 Y 좌표 2 1 127 입력한 예보지점 Y 좌표

요청 결과)


참고 사이트: 공공데이터포털