3 min read

나이스 REST API 사용

나이스 REST API 사용

필자가 중학생때까지만 해도
급식이나 시간표가 따로 api로 제공되지 않았기 때문에 직접 만들거나
깃허브에 있는 수많은 급식관련 3자 api를 사용하는 경우가 잦았다.

그런데 어느새에 나이스 교육정보 개방 포털 이라하는 곳에서 공식적으로 Api를 지원해준다는 소식을 접하게 되었고,

마침 고등학교 넘어와서도 챗봇같은것들을 개발해보고싶었기에 Api를 발급받아보았다.

 

발급 절차는 간단한 편이다.

홈페이지 내에 OPEN API 활용신청 란이 있으며,
그 왼쪽의 주제별 데이터셋에서 제공하는 API의 전체 목록을 볼 수 있다.
API활용신청을 하기위해서 소셜미디어 계정으로 로그인을 진행해주고,
발급사유와 잡다한 란들을 채워주면 굉장히 빠르게 모든 과정이 완료가 된다.

모든 과정이 완료가 되면 이제 API를 사용하기 위한 개인 식별 키가 주어지는데,
이 키를 잘 간수해야 한다.
복사해서 어딘가에 저장해두는것이 좋다.
하지만 이 키가 타인에게 드러나거나 하면 만약 문제가 생길수도 있기에
잘 보관해야한다.

인증키를 발급받은 후,

사용하고 싶은 api의 상세페이지에 들어가면

신청주소가 보인다.

해당 신청주소 + 넣어야하는 인자값을 통해서 호출해주면

api에 접근할 수 있다.

open.neis.go.kr/hub/mealServiceDietInfo?KEY="이자리에 발급받은 인증키 입력"&Type=json&pIndex=1&pSize=10&ATPT_OFCDC_SC_CODE=T10&SD_SCHUL_CODE=9296071

샘플 URL을 살짝 변형해 들고와보았다.

여기서의 ATPT_OFCDC_SC_CODE 와 SD_SCHUL_CODE 는 API 명세창 옆에 Sheet 메뉴에서

직접 검색해봄으로써 얻을 수 있다.

내가 다니고 있는 학교의 경우는 ATPT.... 가 I10,

SD_....가 9300117이었고, 해당 코드를 링크에 대체해서 넣은 뒤 호출하면

이렇게 급식을 성공적으로 불러올 수 있게 된다!

나는 json으로 불러왔지만 xml이 편한 분들은 위의 링크에서 Type인자를 xml으로 바꿔주기만 하면 된다.

이제 이 API를 이용해서 여러가지 프로그램을 만들 수 있을 것이다!

나도 아직 테스트해보지는 않았지만 발급받은 키값을 이용하면 학교의 시간표도 성공적으로 가져올 수 있다고 한다!

 

조만간 이 API를 활용한 프로그램으로 돌아오지 않을까 싶다

그리고 한 세달쯤 뒤에나 오겠지 ㅠ