본문 바로가기

이번주 학교 시간표

[openAPI] 나이스 교육정보 개방 포털 API

예전에 학생 때를 생각해 보면 

한학기 안에 시간표가 변경된 던 적이 없어서 그랬는지 한학기 동안 시간표를 항상 외우면서 다녔던 것 같은데,

 

첫째 딸이 내 핸드폰에 컴시간이라는 앱을 설치하더니 다음주 시간표를 찾아보는 것을 보고

시간표도 안 외우고 다니냐고 구박했었는데,

물어보니 시간표가 중간중간 바뀐다고 한다. 그리고 요즘처럼 쉽게 어디서나 시간표를 찾아볼 수 있다면 굳이 외울 필요도 없을 것 같다는 생각도 들고..

 

나중에 둘째딸이 내년에 초등학교에 입학을 하면 두명의 시간표를 저장해 놓고 쉽게 볼 수 있음 좋을 것 같은데

아직까진 그런 앱이나 웹서비스가 없는 것 같아, 한 번 만들어 볼까하는 생각에..

 

그리고 컴시간이란 앱을 보면서 어떻게 시간표 정보를 어디서 받아올까라는 궁금증에

공공데이타를 파일이나 API로 제공하는 목록을 찾아볼 수 있는 공공데이타포털을 찾아보니,

https://www.data.go.kr/

불러오는 중입니다...

역시나 학교정보, 반정보, 초등/중/고등학교 별 시간표 정보를 조회할 수 있는 API가 나이스 교육정보 개방 포털에서 제공되고 있는 것을 확인할 수 있었다. 참고로 컴시간이 이 API들을 사용하는지는 잘 모르겠다. 실제로 일부 샘플 데이타를 가지고 비교를 해 보면 데이타가 다른 것 같다.

https://open.neis.go.kr/portal/data/dataset/searchDatasetPage.do

 

데이터셋 목록 | 나이스 교육정보 개방 포털

 

open.neis.go.kr

데이타를 제한없이 조회를 하려면 인증키를 API호출 시 파라미터로 같이 전달을 해야 하는데

인증키는 신청을 하면 빠르게 승인이 되어 바로 사용 가능했다.

샘플 JSON 데이타는 아래와 같다.

{
  "schoolInfo": [
    {
      "head": [
        {
          "list_total_count": 200
        },
        {
          "RESULT": {
            "CODE": "INFO-000",
            "MESSAGE": "정상 처리되었습니다."
          }
        }
      ]
    },
    {
      "row": [
        {
          "ATPT_OFCDC_SC_CODE": "T10",
          "ATPT_OFCDC_SC_NM": "제주특별자치도교육청",
          "SD_SCHUL_CODE": "9299048",
          "SCHUL_NM": "가마초등학교",
          "ENG_SCHUL_NM": "GAMA ELEMENTARY SCHOOL",
          "SCHUL_KND_SC_NM": "초등학교",
          "LCTN_SC_NM": "제주특별자치도",
          "JU_ORG_NM": "서귀포시교육지원청",
          "FOND_SC_NM": "공립",
          "ORG_RDNZC": "63625 ",
          "ORG_RDNMA": "제주특별자치도 서귀포시 표선면 일주동로6285번길 8",
          "ORG_RDNDA": "/ 가마초등학교 (표선면)",
          "ORG_TELNO": "064-780-9500",
          "HMPG_ADRES": "http://gama.jje.es.kr",
          "COEDU_SC_NM": "남여공학",
          "ORG_FAXNO": "064-780-9580",
          "HS_SC_NM": null,
          "INDST_SPECL_CCCCL_EXST_YN": "N",
          "HS_GNRL_BUSNS_SC_NM": "일반계",
          "SPCLY_PURPS_HS_ORD_NM": null,
          "ENE_BFE_SEHF_SC_NM": "전기",
          "DGHT_SC_NM": "주간",
          "FOND_YMD": "19680301",
          "FOAS_MEMRD": "19680301",
          "LOAD_DTM": "20190930135255"
        },
        {
          "ATPT_OFCDC_SC_CODE": "T10",
          "ATPT_OFCDC_SC_NM": "제주특별자치도교육청",
          "SD_SCHUL_CODE": "9299061",
          "SCHUL_NM": "가파초등학교",
          "ENG_SCHUL_NM": "GAPA ELEMENTARY SCHOOL",
          "SCHUL_KND_SC_NM": "초등학교",
          "LCTN_SC_NM": "제주특별자치도",
          "JU_ORG_NM": "서귀포시교육지원청",
          "FOND_SC_NM": "공립",
          "ORG_RDNZC": "63514 ",
          "ORG_RDNMA": "제주특별자치도 서귀포시 대정읍 가파로67번길 45",
          "ORG_RDNDA": "(대정읍/가파초등학교)",
          "ORG_TELNO": "064-794-7062",
          "HMPG_ADRES": "http://gapa.jje.es.kr",
          "COEDU_SC_NM": "남여공학",
          "ORG_FAXNO": "064-794-5764",
          "HS_SC_NM": null,
          "INDST_SPECL_CCCCL_EXST_YN": "N",
          "HS_GNRL_BUSNS_SC_NM": "일반계",
          "SPCLY_PURPS_HS_ORD_NM": null,
          "ENE_BFE_SEHF_SC_NM": "전기",
          "DGHT_SC_NM": "주간",
          "FOND_YMD": "19220402",
          "FOAS_MEMRD": "19220402",
          "LOAD_DTM": "20190930135255"
        }
      ]
    }
  ]
}

 

이런 정보 외에도 급식식단정보, 학사 일정 등을 제공하는 API도 있어서

해당 API를 적절하게 잘 사용한다면

항상 학기초에 학교에서 나눠준 가정통신문을 찍어둔 사진을 필요할 때마다 어렵게 찾아보는 수고를 덜 수 있을 것 같다.

 

참고로 사용하고자 하는 API의 모든 라이선스는 공공누리 제3유형이다.

[공공누리 제 3유형]    출처표시, 상업적 비상업적 이용가능, 변형 등 2차 저작물 작성 금지