• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

공공api 에러

23.10.18 16:22 작성 조회수 264

0

선생님 강의에서는 공공api에서 파이썬2를 이용한 예제가 제공되었는데요. 제가 이 글을 쓰는 시점에는 파이썬 3로 되었더라구요.

# Python3 샘플 코드 #


import requests

url = 'http://apis.data.go.kr/B552584/ArpltnInforInqireSvc/getMinuDustFrcstDspth'
params ={'serviceKey' : '서비스키', 'returnType' : 'xml', 'numOfRows' : '100', 'pageNo' : '1', 'searchDate' : '2020-11-14', 'InformCode' : 'PM10' }

response = requests.get(url, params=params)
print(response.content)

예제 코드를 보면 강의코드처럼 한줄로 쓸 필요없이 , 네이버 open api처럼 params로 묶어서 처리하면 되는것 같은데요.

 

문제는 예제코드 자리에 서비스키를 넣어도 데이터가 로드 되지 않습니다.

에러코드를 구글링해보니 서비스키 재발급 또는 한시간정도를 기다려보라고 해서 둘다 실행해봤지만 계속 에러가납니다 ..

b'<OpenAPI_ServiceResponse>\n\t<cmmMsgHeader>\n\t\t<errMsg>SERVICE ERROR</errMsg>\n\t\t<returnAuthMsg>SERVICE_KEY_IS_NOT_REGISTERED_ERROR</returnAuthMsg>\n\t\t<returnReasonCode>30</returnReasonCode>\n\t</cmmMsgHeader>\n</OpenAPI_ServiceResponse>'

예제코드에서 서비스키에 제 서비스키를 넣는거 말고 다른것을 수정해야하는 부분이 있나요?

답변 1

답변을 작성해보세요.

0

안녕하세요. 답변 도우미입니다.

저희 강의는 모두 파이썬3로 진행하고 있습니다. 우선 이 부분 확인해보시면 좋을 것 같습니다.

기재해주신 에러메세지에는 다음과 같이 서비스키가 등록되어 있지 않아서, 에러가 난다고 되어 있습니다. 서비스키를 정확히 한글자도 빼지 않고, 넣어주시면 좋을 것 같습니다. 가끔 공공API 시스템 자체에서 에러 한동안 나는 케이스는 있긴 해요. 이 부분은 어떻게 대응이 쉽지는 않은데요. 결국 해당 시스템이 정상으로 돌아와야 하니까요. 정 그렇다면, 아예 공공 API 를 우선 남겨두시고, 다른 부분을 먼저 들으신 후에, 일정 시간이 흐른 후 다시 한번 해보셔도 좋을 것 같습니다.

감사합니다.

SERVICE_KEY_IS_NOT_REGISTERED_ERROR

 

'<OpenAPI_ServiceResponse>\n\t<cmmMsgHeader>\n\t\t<errMsg>SERVICE ERROR</errMsg>\n\t\t<returnAuthMsg>SERVICE_KEY_IS_NOT_REGISTERED_ERROR</returnAuthMsg>\n\t\t<returnReasonCode>30</returnReasonCode>\n\t</cmmMsgHeader>\n</OpenAPI_ServiceResponse>'