티스토리 뷰

지난 3월 미세도라는 지역별 측정소 미세먼지 정보를 실시간으로 수집하여 지도에 마킹하는 프로젝트를 오픈하였다. 오픈 후, 사용 중이던 API 서비스가 중단되니 신규 서비스로 변경하라는 안내 메일을 받았다.

 

예상으로는 기존 서비스의 경우 지원 포맷이 XML만 존재하였는데, 신규 서비스의 경우 JSON 포맷까지 지원하는 걸로 보아, 데이터 관리 및 운영의 편의를 위해 업데이트를 한 듯싶다.

 

중요한 건, 해당 시점에 API를 교체하지 못하고, 할 일 목록에만 담아 놓고 방치하다가, 이번 달에 교체를 진행하기로 마음먹었다😅

 

 

출처.한국환경공단 에어코리아 서비스 종료 및 신규서비스 안내

 

 

SERVICE_KEY_IS_NOT_REGISTERED_ERROR

한국 환경공단_에어코리아에서 제공해준 API 문서를 기준으로 작업을 진행했다.

요청/응답 레이아웃 기준으로 세팅 후, 요청 전문을 송신하였지만, 다음과 같은 결과를 반환받았다.

"cmmMsgHeader" => array:3 [
"errMsg" => "SERVICE ERROR"
"returnAuthMsg" => "SERVICE_KEY_IS_NOT_REGISTERED_ERROR"
"returnReasonCode" => "30"
]

 

API 문서를 확인해본 해당 에러 SERVICE_KEY_IS_NOT_REGISTERED_ERROR 는 '잘못된 서비스 키를 사용하였거나, 서비스 키를 URL인코딩하지 않음'이라고 설명되어 있다.

 

출처.Open API 에러 코드

 

해결방안

방안 1. 마이페이지에서 오픈 API 인증키 발급현황을 확인하여, 요청 시 서비스 키 값의 오타 및 오류가 없는지 확인해준다.

인증키를 확인했음에도 문제가 없다면, [인증키 재발급] 후, 30분 ~ 1시간 정도 있다가 재요청을 수행해보자.

공공데이터 - 마이페이지 - 인증키 발급현황

 

 

방안 2. 나의 문의 > 고객센터에 질의하기 

 

 

 

 

 

활용지원센터 질의응답

 

방안 3. 한글 데이터 url encode 

나의 경우 방안 1 / 방안 2로 모두 해결되지 않았다😢

문제를 찾기 위해, 전송 데이터 값을 재검증하면서 해결하였다.

원은 신규 API 서비스로 전환하면서 한글 데이터에 urlencode 처리하게 개선된 것이다. 아무래도 API 서버 내 인코딩 환경의 이슈로 한글 처리가 개선된 것으로 보인다. 

 

한글 데이터 urlencode 처리 후 해결
한글 데이터 urlencode 처리 후 해결

 

 

정상적으로 요청에 대한 응답값을 반환 받아 온다 👍

댓글