주요 작업 내용

  1. 기상청 '동네예보정보조회서비스' API 가져오기
  • D+3 일의 일기 예보를 가져올 수 있는 API 를 찾았습니다.
    key 발급도 쉽고 바로 활용할 수 있었습니다.
  • get 방식만을 지원하며 XMLHttpRequest 를 통해 값을 가져왔습니다.
  1. API 문서를 기반으로 metadata 를 만들고 JSON parse 를 이용해서 사용자가 읽을 수 있는 문자열을 만들어내는 작업을 하고 있습니다.

삽질 & 후기

  • API 문서가 HWP 파일이어서 MAC 에서 읽을 수 있는 방법을 찾아야 했습니다.
    어떤 HWP 문서는 google docs 에서 읽을 수 있다고 나왔지만 해당 문서는 그렇지 못했기에 '한컴 스페이스' 라는 online 환경의 리더 사이트를 찾아 확인하였습니다.
  • XMLHttpRequest 를 사용하는 과정에서 몇가지 문제가 있었습니다.
    • Cross-Origin Read Blocking (CORB) 에 걸려 reponse 를 가져오지 못했습니다. 검색을 통해 몇가지 조치 방법을 찾았지만 근본적인 조치가 힘들 것 같아 cmd 커맨드를 활용한 임시 방편을 활용하고 일단은 기능 구현을 하기로 했습니다.
    • cmd 를 통해 크롬 args 를 변경하는 방법으로 response 를 가져오는 것에는 문제가 없었지만, 해당 args 를 적용한 브라우저에서는 구글 로그인이 안되는 등 역효과가 발생했습니다.
  • 위의 내용을 우회하고 디버깅의 편리를 위해 HTML 환경이 아닌 순수 js 의 영역에서 구현해보려 했지만, 그런 경우 XMLHttpRequest 를 사용하기 위해 require 를 넣어줘야되고 이후에도 response 처리가 복잡해져 현재는 HTML 환경을 활용하고 차후에 nodejs 로 옮겨보기로 했습니다.
  • API reponse 를 받아오는 과정에서 문서의 것보다 row 가 적어 확인해보니 이를 지정해주는 request 값이 있었습니다.

관련 링크

한컴 스페이스 (HWP 읽기 가능)
기상청 '동네예보정보조회서비스' API 링크
CORB 조치 방법
js 에서 XMLHttpRequest 사용