본문으로 이동
주 메뉴
주 메뉴
사이드바로 이동
숨기기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
lse
검색
검색
보이기
계정 만들기
로그인
개인 도구
계정 만들기
로그인
로그아웃한 편집자를 위한 문서
더 알아보기
기여
토론
Open api 활용
편집하기
문서
토론
한국어
읽기
편집
원본 편집
역사 보기
도구
도구
사이드바로 이동
숨기기
동작
읽기
편집
원본 편집
역사 보기
일반
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
보이기
사이드바로 이동
숨기기
172.18.0.1
(
토론
)
님의 2025년 6월 11일 (수) 02:11 판
(
차이
)
← 이전 판
|
최신판
(
차이
) |
다음 판 →
(
차이
)
경고: 이 문서의 오래된 판을 편집하고 있습니다.
이것을 게시하면, 이 판 이후로 바뀐 모든 편집이 사라집니다.
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
data.go.kr 에서 OPEN API로 활용하는 예를 만들어 사용한다. =사용 방법= OPEN API 사용하는 방법 간략 기술 # 공공 데이터 포털 - 접속 및 로그인 (www.data.go.kr) # 원하는 자료 검색 # 활용 신청하기, 사용 참고 문서 다운로드 # 개발 계정 신청하기 - [https://jeong-pro.tistory.com/143 API키 발급] # 어떻게 사용하는지 문서 확인 # 브라우저를 이용한 테스트 = 샘플 작업 = * [https://www.data.go.kr/data/15012896/standard.do#tab_layer_open 전국 주차장 정보 활용] ==키 발급 신청== 1. 승인요청하기 [[file:openapi_use_01.jpg| 800px]] 2. 요청사항 입력 및 동의 [[file:openapi_use_02.jpg| 800px]] 3. 승인 신청 결과 확인 [[file:openapi_use_03.jpg| 800px]] ==키 가져오기: 마이페이지== * 상단의 마이페이지에서 키 가져 오기 [[file:openapi_key_01.jpg | 800px]] * 키 확인 - 개인키와 다름 [[file:openapi_key_02.jpg | 800px]] ==사용 및 미리보기== * 미리 보기에서 사용 및 파라미터를 확인한다. [[file:openapi_key_03.jpg | 700px]] * 미리 보기 확인 [[file:openapi_key_04.jpg | 700px]] * URL 확인 : 홈 >> 마이페이지 >> 데이터 활용 >> '''Open API>> 활용신청 현황''' [[file:openapi_key_05.jpg | 700px]] ==자료 방식== # XML # JSON * 인터페이스 표준 REST의 GET 방식 * JSON 방식으로 응답시 '''&_returnType=json''' * URL 구성 http://api.data.go.kr/openapi/tn_pubr_prkplce_info_api?serviceKey="발급된 API키"&pageNo=1&numOfRows=100&type=xml ==SERVICE KEY IS NOT REGISTERED ERROR 문제 해결== * 이유 추정 아마도, web browser마다 자동으로 인코딩해서 API를 날리는 기준이 틀려서, 헛갈리는 것 같음. 실제로, 공공데이터 포털에서도 encoding과 decoding을 따로 두고 필요한 것 사용하라고 되어 있어서, 더 문제인 듯... * 문제 해결 1. 처음 신청하고 나서, 1, 2시간 후 decoding 으로 크롬에서 http로 작성해서 전송 테스트 http://api.data.go.kr/openapi/tn_pubr_prkplce_info_api?serviceKey=' '''Decoding''' API key사용'&pageNo=1&numOfRows=100&type=xml 2. 안된다고 질의 하면, 그쪽에서 뭐 하고(?) 된다고 연락옴 --> 아마도 API Key를 Encoding으로 강제 설정하는 듯 --> 이 경우, Encoding만 정상 데이터가 출력되고, Decoding으로 접근하면 '''NODATA ERROR'''로 나옴 (이게 강제로 ENCODING 설정으로 의심 증거) 3. 프로그램 사용 대부분의 프로그램은 자동으로 ENCODING을 실시하므로, decoding을 사용하는 것이 정상이나, 2번에서 강제로 설정되었기 때문에, 프로그램에서 다시 API키를 encoding 하지 않게 분리해서 다시 합쳐줘야 함. <code> import requests from urllib.parse import urlencode url = 'http://api.data.go.kr/openapi/tn_pubr_prkplce_info_api' servicekey = 'Encoding된 API Key 사용' # serviceKey를 제외한 나머지 파라미터들 other_params = { 'pageNo': '1', 'numOfRows': '100', 'type': 'xml', # ... 나머지 파라미터들 } # URL을 직접 구성 encoded_params = urlencode(other_params) full_url = f"{url}?serviceKey={servicekey}&{encoded_params}" response = requests.get(full_url) print(response.content) </code> 결론 안된다고 연락하지 말고, encoding key, decoding key를 바꿔서 어떻게 해보자 (이상하게 바꿔 놓음) NIA도 둘 다 올려 놓고 나몰라라 한다. =공공주차장 데이터 활용= 공공 주차장 데이터 활용으로 해보자 [[분류: 플그램]] [[분류: 프로그램]]
요약:
lse에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다(자세한 사항은
Lse:저작권
문서를 보세요).
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
검색
검색
Open api 활용
편집하기
새 주제