728x90
● 공공데이터 API 활용시 다음과 같은 에러 발생
SERVICE_KEY_IS_NOT_REGISTERED_ERROR<OpenAPI_ServiceResponse>
<cmmMsgHeader>
<errMsg>SERVICE ERROR</errMsg>
<returnAuthMsg>SERVICE_KEY_IS_NOT_REGISTERED_ERROR</returnAuthMsg>
<returnReasonCode>30</returnReasonCode>
</cmmMsgHeader>
</OpenAPI_ServiceResponse>
○ 해결방안
1 - 1시간을 기다려 본다.
{ 여기서 미리보기는 해결 되었습니다. }
2 - ServiceKey가 UTF-8 로 되어 있어 반드시 인코딩 하여 넘겨야 한다.
import requests
from urllib import parse
url = 'http://apis.data.go.kr/B551182/pubReliefHospService/getpubReliefHospList'
key = '서비스키'
queryParams = f'?{parse.quote_plus("serviceKey")}={key}&' + parse.urlencode({
parse.quote_plus('pageNo') : '1',
parse.quote_plus('numOfRows') : '10',
parse.quote_plus('spclAdmTyCd') : 'A0' })
request2 = requests.get(url + queryParams)
print(request2.text)
{ python3 로 구성된 코드이며 urllib2는 python2의 기능이어서 존재 하지 않는다 }
3 - params를 구성하는 부분에 띄어쓰기, 공백이 있는지 확인하자!
{ 이부분에서 띄어씌각 존재할 경우 url 넘기면서 재대로 인지 하지 못함. }
반응형
'programming > python' 카테고리의 다른 글
series - PyLotto 만들기_1 - 이번주 당첨 번호 가져오기_크롤링 (0) | 2021.01.06 |
---|---|
tip - python pip packages 패키지 설치 위치 (0) | 2020.12.27 |
error - VSCODE에서 PyQT 인식 문제 해결 (2) | 2020.12.27 |
error - pip install --upgrade pip "pip" 삭제 되는 문제 (0) | 2020.12.27 |
python 코드를 이용한 Lotto 번호 추출기 (0) | 2019.11.19 |