AI 웹도구 만들기 공부 5편|나이스 Open API란? 교육정보 개방 포털에서 데이터를 찾아봤다
지난 1~4편에서는 제가 웹도구를 직접 만들어보면서 알게 된 HTML, API, API Key, 서버, 호스팅, 도메인, AI API에 대해 하나씩 공부해봤습니다.
이번에는 조금 다른 것을 공부해봤습니다.
바로 나이스 Open API입니다.
학교에서 사용하는 나이스에 API가 있다는 것은 알고 있었지만, 정작 어떤 데이터가 공개되어 있고, 그것을 어떻게 활용할 수 있는지는 제대로 알지 못했습니다.
그래서 이번에는 코딩부터 시작하지 않고, 나이스 교육정보 개방 포털에 직접 들어가서 Open API가 무엇인지부터 공부해봤습니다.
목차
- ⭐ 나이스 Open API란?
- 나이스에는 어떤 데이터가 공개되어 있을까?
- 나이스 교육정보 개방 포털에서 데이터 찾는 방법
- ⭐ 학교기본정보 Open API를 살펴봤다
- 인증키는 꼭 필요한 걸까?
- 오늘 공부하면서 알게 된 것
- 학생선수 관리 웹앱과 무슨 관계가 있을까?
- 다음 공부에서는 실제 데이터를 받아본다
1. ⭐ 나이스 Open API란?
먼저 API가 무엇인지 다시 생각해봤습니다.
쉽게 말하면 API는 프로그램과 프로그램이 서로 데이터를 주고받을 수 있도록 만들어 놓은 통로라고 이해하고 있습니다.
그렇다면 Open API는 무엇일까요?
외부에서 사용할 수 있도록 공개해 놓은 API라고 생각하면 이해하기 쉽습니다.
나이스 교육정보 개방 포털에서도 Open API를 외부에 데이터를 일정한 형식으로 개방하여 다른 프로그램이나 서비스를 개발·활용할 수 있도록 하는 방식으로 설명하고 있습니다.
즉 아주 단순하게 생각하면 이런 구조입니다.
나이스의 공개 데이터
↓
Open API
↓
내가 만든 웹사이트·웹앱
지금까지 제가 만들었던 웹도구들은 대부분 제가 직접 데이터를 입력하는 방식이었습니다.
그런데 API를 연결하면 외부에서 제공되는 데이터를 내 프로그램에서 받아와 활용할 수 있다는 것이 핵심입니다.
2. 나이스에는 어떤 데이터가 공개되어 있을까?
그래서 나이스 교육정보 개방 포털에 직접 들어가봤습니다.
생각보다 재미있었던 것은 나이스에 있는 모든 정보를 가져올 수 있는 것이 아니라, 외부에 공개할 수 있도록 개방된 데이터만 Open API로 제공한다는 것이었습니다.
현재 포털의 데이터셋 목록을 확인해보면 교육기관 분야와 교육여건 분야의 데이터가 제공되고 있습니다.
| 분야 | 예시 |
|---|---|
| 학교 정보 | 학교기본정보 |
| 교육과정 | 학사일정, 초·중·고 시간표 등 |
| 급식 | 급식식단정보 |
| 평생교육 | 학원·교습소정보 |
현재 포털의 데이터셋 목록에는 총 12개의 데이터셋이 표시되고 있습니다.
그중 제가 가장 먼저 살펴본 것은 학교기본정보였습니다.
3. 나이스 교육정보 개방 포털에서 데이터 찾는 방법
제가 오늘 실제로 해본 과정은 생각보다 간단했습니다.
① 나이스 교육정보 개방 포털 접속
↓
② 데이터셋 메뉴 확인
↓
③ 학교기본정보 검색
↓
④ 학교기본정보 데이터셋 선택
↓
⑤ Open API 탭 확인
처음에는 개발자 사이트라고 해서 어려울 것이라고 생각했는데, 일단 데이터셋을 찾아보는 것 자체는 어렵지 않았습니다.
오히려 중요한 것은 “내가 어떤 데이터를 가져오고 싶은가?”를 먼저 정하는 것이었습니다.
4. ⭐ 학교기본정보 Open API를 살펴봤다
학교기본정보 데이터셋에는 학교명, 소재지, 주소, 전화번호, 홈페이지 주소, 남녀공학 여부, 개교기념일 등의 정보가 포함되어 있습니다.
그리고 이 데이터셋에는 Sheet, Map, File, Open API와 같은 여러 제공 방식이 있습니다.
여기서 저는 Open API를 눌러봤습니다.
그러자 처음 보는 단어들이 등장했습니다.
| 항목 | 쉽게 이해하면 |
|---|---|
| KEY | API를 사용할 때 필요한 인증키 |
| Type | 데이터를 어떤 형식으로 받을지 |
| pIndex | 몇 번째 페이지의 데이터를 가져올지 |
| pSize | 한 번에 몇 개의 데이터를 가져올지 |
아직은 각각의 항목을 완벽하게 이해할 필요는 없을 것 같습니다.
일단 “API를 호출할 때 이런 정보를 함께 보내는구나.” 정도로 이해하고 다음 단계로 넘어가려고 합니다.
5. 인증키가 필요하다고?
여기서 지난번에 공부했던 API Key가 다시 등장했습니다.
나이스 교육정보 개방 포털에서는 Open API를 사용하기 위해 인증키를 발급받도록 안내하고 있습니다.
인증키는 쉽게 말하면 “이 API를 사용하도록 허가받은 사용자를 식별하기 위한 열쇠”라고 생각하면 될 것 같습니다.
그런데 재미있는 점이 하나 있었습니다.
학교기본정보 Open API 화면에는 sample key가 기본값으로 제공되고 있었습니다.
그리고 이 sample key를 이용하면 실제 API 호출 구조를 확인할 수 있도록 샘플 데이터가 제공됩니다.
현재 학교기본정보 API 안내에서는 sample key를 사용할 경우 5건의 샘플 데이터만 출력되며, 실제 API를 호출할 때는 인증키를 사용하도록 안내하고 있습니다.
그래서 저는 아직 인증키를 발급받지 않았습니다.
일단 sample key로 실제 데이터를 한 번 받아보는 것부터 해보기로 했습니다.
6. 오늘 공부하면서 알게 된 것
오늘 공부한 내용을 정리하면 다음과 같습니다.
- API는 프로그램끼리 데이터를 주고받는 통로다.
- Open API는 외부에서 활용할 수 있도록 공개된 API다.
- 나이스에도 Open API가 제공되고 있다.
- 나이스의 모든 정보가 공개되는 것은 아니다.
- 공개된 데이터셋에서 사용할 데이터를 먼저 찾아야 한다.
- 학교기본정보, 학사일정, 시간표, 급식 등의 데이터를 Open API로 활용할 수 있다.
- 실제 Open API 사용에는 인증키가 필요하다.
- 학교기본정보 API에서는 sample key를 이용해 샘플 데이터를 확인할 수 있다.
7. 학생선수 관리 웹앱과 무슨 관계가 있을까?
사실 제가 나이스 Open API를 공부하기 시작한 이유는 따로 있습니다.
제가 만들고 싶은 것은 학교운동부선수와 개인학생선수를 관리하는 웹도구입니다.
그런데 실제로 알아보니 나이스와 e-School에서도 학생선수와 관련된 여러 업무를 이미 처리하고 있었습니다.
그래서 단순히 “나이스에 있는 기능을 똑같이 하나 더 만들자.” 라는 생각으로 접근하면 안 되겠다는 생각이 들었습니다.
대신
나이스에서 제공하는 데이터는 어디까지 활용할 수 있을까?
그리고
내가 만드는 웹앱에서는 어떤 기능을 추가로 만들 수 있을까?
이것부터 공부해보기로 했습니다.
그래서 당분간은 앱을 무작정 만드는 것보다 API가 무엇인지 → 어떤 데이터를 가져올 수 있는지 → 실제로 데이터를 받아오는 방법을 먼저 공부해보려고 합니다.
8. 다음 공부에서는 실제 데이터를 받아본다
오늘은 여기까지입니다.
아직 코딩도 하지 않았고, API를 실제로 호출해보지도 않았습니다.
하지만 다음 단계에서는 조금 더 재미있는 것을 해보려고 합니다.
나이스 Open API에서 제공하는 sample key를 이용해서 실제로 학교 데이터를 한 번 받아보는 것 입니다.
그때 처음으로 JSON이라는 것도 직접 만나보게 될 것 같습니다.
지금까지는 API를 설명으로만 이해했다면, 다음에는 직접 데이터를 받아보면서 “아, API가 이런 식으로 작동하는 거구나!” 를 확인해보려고 합니다.
개발자가 아닌 체육교사가 웹도구를 직접 공부해보는 과정이기 때문에, 저처럼 코딩을 잘 모르는 분들도 따라올 수 있도록 하나씩 천천히 기록해보겠습니다.
📌 함께 보면 좋은 이전 글
- AI 웹도구 만들기 공부 1편|HTML부터 AI까지, 내가 만든 웹도구는 어떻게 작동할까?
- AI 웹도구 만들기 공부 2편|API Key와 서버는 왜 필요한가?
- AI 웹도구 만들기 공부 3편|서버·호스팅·도메인·AI 비용은 어떻게 연결될까?
- AI 웹도구 만들기 공부 4편|AI API를 연결하면 실제로 무슨 일이 일어날까?
※ 이 글은 개발자가 아닌 교사가 AI 웹도구를 직접 만들어보기 위해 공부하면서 정리한 기록입니다.
'★ 프로그래밍 > - 프로그램' 카테고리의 다른 글
| AI로 체육 미션도장판 만들기 3편|체육 미션도장판 개발 실패 기록 (0) | 2026.09.29 |
|---|---|
| AI로 체육 미션도장판 만들기 2편|체육 미션도장판 업데이트, 학생별 5회 기록 입력 기능 추가하기 (0) | 2026.09.23 |
| AI 웹도구 만들기 공부 4편|AI API를 연결하면 실제로 무슨 일이 일어날까? (0) | 2026.09.21 |
| AI 웹도구 만들기 공부 3편|서버·호스팅·도메인·AI 비용은 어떻게 연결될까? (0) | 2026.09.18 |
| AI 웹도구 만들기 공부 2편|API Key와 서버는 왜 필요한가? (0) | 2026.09.18 |