
⚙️ Part 3: 구글 앱스 스크립트로 출석체크 앱 만들기
서버 없이 무료로 자동화 앱 개발하기
🕐 예상 소요시간: 40분
🎯 이 파트에서 배우는 것
- 구글 앱스 스크립트가 무엇인지 이해하기
- 스프레드시트와 연동하여 출석체크 앱 만들기
- 앱을 웹 앱으로 배포하여 누구나 사용할 수 있게 하기
- QR코드로 간편하게 출석체크 받기
🧠 구글 앱스 스크립트란?
구글 앱스 스크립트(Google Apps Script)는 구글에서 제공하는 무료 자동화 도구입니다. 프로그래밍을 몰라도 AI의 도움을 받아 다양한 앱을 만들 수 있습니다!
완전 무료
서버 비용, 호스팅 비용이 전혀 없습니다. 구글이 모든 인프라를 무료로 제공합니다.
구글 서비스 연동
스프레드시트, 드라이브, Gmail, 캘린더, 폼 등 모든 구글 서비스와 쉽게 연결됩니다.
웹 앱 배포
만든 앱을 URL로 공유하면 PC, 스마트폰 어디서든 사용할 수 있습니다.
| 항목 | 설명 |
|---|---|
| 서버 | 필요 없음 (구글이 무료 제공) |
| 비용 | 완전 무료 |
| 프로그래밍 언어 | 자바스크립트 기반 (AI가 대신 작성해줌) |
| 연동 가능한 서비스 | 스프레드시트, 드라이브, Gmail, 캘린더, 슬라이드, 폼 등 |
📁 앱스 스크립트 파일 구조
앱스 스크립트 프로젝트는 크게 2가지 종류의 파일로 구성됩니다:
📂 내 앱스 스크립트 프로젝트
│
├── 📄 code.gs ← 백엔드 (서버 로직)
│ 데이터 처리, 스프레드시트 연동
│
└── 📄 index.html ← 프론트엔드 (사용자 화면)
사용자가 보는 디자인, 버튼 등
📄 code.gs (백엔드)
• 데이터 저장/불러오기
• 스프레드시트 읽기/쓰기
• 로직 처리
→ Gemini가 잘 만들어줌!
• 데이터 저장/불러오기
• 스프레드시트 읽기/쓰기
• 로직 처리
→ Gemini가 잘 만들어줌!
📄 index.html (프론트)
• 화면 디자인
• 버튼, 입력창
• 사용자 인터페이스
→ Claude가 예쁘게 만들어줌!
• 화면 디자인
• 버튼, 입력창
• 사용자 인터페이스
→ Claude가 예쁘게 만들어줌!
핵심 포인트: 코드를 직접 작성할 필요가 없습니다!
원하는 기능을 AI에게 설명하면 코드를 만들어줍니다.
우리는 기획과 설계만 하면 됩니다.
원하는 기능을 AI에게 설명하면 코드를 만들어줍니다.
우리는 기획과 설계만 하면 됩니다.
🔨 출석체크 앱 만들기 실습
사전 준비
구글 계정 - Gmail 계정이 있으면 됩니다
크롬 브라우저 - 다른 브라우저도 가능하지만 크롬 권장
1
스프레드시트 사본 만들기
먼저 출석체크 데이터를 저장할 스프레드시트를 준비합니다.
-
제공된 출석체크 시트 URL을 클릭합니다
URL 끝이
/copy로 되어 있으면 자동으로 사본 만들기 화면이 열립니다 - "사본 만들기" 버튼을 클릭합니다
-
내 구글 드라이브에 새 파일이 생성됩니다
파일 이름을 "우리기관 출석체크" 등으로 변경해도 됩니다
2
시트 구조 확인하기
스프레드시트에는 2개의 시트(탭)가 있습니다:
| 시트 이름 | 역할 | 컬럼(열) |
|---|---|---|
| 출석현황 | 출석 데이터가 자동으로 기록되는 곳 | 날짜, 시간, 이름 |
| 참석자리스트 | 참석 예정자 명단 | 이름, 출석날짜, 입장시간... |
📍 시트 탭 확인하기
┌─────────────────────────────────────────────┐
│ │
│ 날짜 │ 시간 │ 이름 │
│ 11/22 │ 09:30 │ 홍길동 │
│ 11/22 │ 09:32 │ 김철수 │
│ │ │ │
├─────────────────────────────────────────────┤
│ 출석현황 │ 참석자리스트 │ + │ │
└─────────────────────────────────────────────┘
↑ 하단의 시트 탭들
시트 이름 주의!
시트 이름은 코드와 정확히 일치해야 합니다!
✅ "참석자리스트" (띄어쓰기 없음)
❌ "참석자 리스트" (띄어쓰기 있음) → 오류 발생!
시트 이름은 코드와 정확히 일치해야 합니다!
✅ "참석자리스트" (띄어쓰기 없음)
❌ "참석자 리스트" (띄어쓰기 있음) → 오류 발생!
3
앱스 스크립트 편집기 열기
스프레드시트에서 앱스 스크립트 편집기를 엽니다.
- 스프레드시트 상단 메뉴에서 을 클릭합니다
- 드롭다운 메뉴에서 를 클릭합니다
-
새 탭에서 앱스 스크립트 편집기가 열립니다
왼쪽에 code.gs 파일이 보입니다
📍 확장 프로그램 메뉴 찾기
파일 편집 보기 삽입 서식 데이터 도구 확장 프로그램 도움말
↓
┌─────────────────────┐
│ 부가기능 │
│ 부가기능 관리 │
│ Apps Script │ ← 클릭!
└─────────────────────┘
4
앱스 스크립트 편집기 화면 이해하기
앱스 스크립트 편집기의 화면 구성을 알아봅니다.
📍 앱스 스크립트 편집기 화면
┌─────────────────────────────────────────────────────┐
│ ← 🏠 │ 📁 파일 │ ▶️ 실행 │ 🚀 배포 │ │
├─────────┬───────────────────────────────────────────┤
│ │ │
│ 📄 파일 │ 1 │ function doGet() { │
│ │ 2 │ // 코드 내용이 여기에... │
│ code.gs │ 3 │ } │
│ │ │
│ + 파일 │ (코드 편집 영역) │
│ 추가 │ │
├─────────┴───────────────────────────────────────────┤
│ ● code.gs ← 주황색 점 = 저장 안 됨! │
└─────────────────────────────────────────────────────┘
주황색 동그라미(●)의 의미
파일명 왼쪽에 ● 주황색 점이 보이면 = 저장되지 않은 변경사항이 있다는 뜻!
저장하면 동그라미가 사라집니다.
파일명 왼쪽에 ● 주황색 점이 보이면 = 저장되지 않은 변경사항이 있다는 뜻!
저장하면 동그라미가 사라집니다.
5
스프레드시트 URL 확인하기
code.gs 파일에서 스프레드시트 URL이 올바르게 설정되어 있는지 확인합니다.
- 왼쪽 파일 목록에서 code.gs를 클릭합니다
-
코드에서
스프레드시트URL또는SPREADSHEET_URL부분을 찾습니다보통 코드 상단에 있습니다 -
이 URL이 내 스프레드시트 URL과 일치하는지 확인합니다
스프레드시트에서 확장 프로그램으로 열었다면 자동으로 연결되어 있습니다
// 코드 상단에서 이런 부분을 찾으세요:
const SPREADSHEET_URL = "https://docs.google.com/spreadsheets/d/여기에_스프레드시트_ID/edit";
// 또는
const SHEET_ID = "스프레드시트_ID";
6
저장하기
변경사항이 있다면 저장합니다.
- 파일명 옆에 ● 주황색 점이 있는지 확인합니다
-
상단 툴바에서 💾 저장 버튼 (디스크 모양)을 클릭합니다
또는 키보드에서 Ctrl + S 를 누릅니다
(Mac: ⌘ Cmd + S) - 주황색 점이 사라지면 저장 완료!
7
웹 앱으로 배포하기
만든 앱을 누구나 사용할 수 있도록 웹에 배포합니다. 이 단계가 가장 중요합니다!
- 오른쪽 상단의 버튼을 클릭합니다
- 를 선택합니다
- "유형 선택" 옆의 ⚙️ 톱니바퀴 아이콘을 클릭합니다
- "웹 앱"을 선택합니다
📍 배포 메뉴 찾기
┌─────────────────────────────────────────────────────┐
│ 🚀 배포 ▼ │
│ ↓ │
│ ┌─────────────────┐ │
│ │ 배포 관리 │ │
│ │ 새 배포 │ ← 클릭! │
│ │ 배포 테스트 │ │
│ └─────────────────┘ │
└─────────────────────────────────────────────────────┘
8
배포 설정하기
배포 옵션을 설정합니다.
- 설명 (선택사항): "출석체크 앱 v1" 등 메모 입력
-
실행할 사용자: 선택
앱이 내 권한으로 스프레드시트에 데이터를 씁니다
-
액세스 권한이 있는 사용자: 선택
⚠️ 중요! "모든 사용자"를 선택해야 다른 사람도 앱을 사용할 수 있습니다
- "배포" 버튼을 클릭합니다
📍 배포 설정 화면
┌─────────────────────────────────────────────┐
│ 새 배포 [X] │
├─────────────────────────────────────────────┤
│ │
│ 유형 선택: ⚙️ │
│ ┌─────────────────────────────┐ │
│ │ 📱 웹 앱 │ ← 선택 │
│ └─────────────────────────────┘ │
│ │
│ 설명: [출석체크 앱 v1 ] │
│ │
│ 실행할 사용자: │
│ ┌─────────────────────────────┐ │
│ │ 나 ▼ │ │
│ └─────────────────────────────┘ │
│ │
│ 액세스 권한이 있는 사용자: │
│ ┌─────────────────────────────┐ │
│ │ 모든 사용자 ▼ │ ← 중요! │
│ └─────────────────────────────┘ │
│ │
│ 배포 │
└─────────────────────────────────────────────┘
액세스 권한 설정 주의!
• "나만" 선택 시 → 본인만 앱 사용 가능
• "모든 사용자" 선택 시 → 링크가 있는 누구나 사용 가능
출석체크 앱은 다른 사람들이 사용해야 하므로 "모든 사용자"를 선택하세요!
• "나만" 선택 시 → 본인만 앱 사용 가능
• "모든 사용자" 선택 시 → 링크가 있는 누구나 사용 가능
출석체크 앱은 다른 사람들이 사용해야 하므로 "모든 사용자"를 선택하세요!
9
권한 승인하기 (첫 배포 시)
처음 배포할 때는 권한 승인이 필요합니다. 총 2번 승인해야 합니다!
- "액세스 승인" 버튼이 나타나면 클릭합니다
- 구글 계정을 선택합니다 (로그인한 계정)
-
"이 앱은 확인되지 않았습니다" 경고가 나타납니다
😱 무서워 보이지만 정상입니다! 내가 만든 앱이라서 그래요.
- 왼쪽 하단의 "고급"을 클릭합니다
- "(프로젝트 이름)(으)로 이동(안전하지 않음)"을 클릭합니다
- 권한 요청 화면에서 "허용"을 클릭합니다
📍 권한 승인 과정
[1단계] "액세스 승인" 클릭
↓
[2단계] 구글 계정 선택
↓
[3단계] "이 앱은 확인되지 않았습니다" 화면
┌─────────────────────────────────┐
│ │
│ ⚠️ 이 앱은 확인되지 않았습니다 │
│ │
│ 이 앱은 아직 Google의 │
│ 확인을 받지 않았습니다. │
│ │
│ [뒤로] │
│ │
│ 고급 ← 클릭! │
└─────────────────────────────────┘
↓
[4단계] "(프로젝트명)(으)로 이동" 클릭
↓
[5단계] "허용" 클릭 → 완료!
왜 "안전하지 않음"이라고 뜨나요?
구글에 정식 등록된 앱이 아니라 내가 직접 만든 앱이기 때문입니다.
내가 만든 앱이므로 안전합니다. 걱정하지 마세요!
구글에 정식 등록된 앱이 아니라 내가 직접 만든 앱이기 때문입니다.
내가 만든 앱이므로 안전합니다. 걱정하지 마세요!
10
앱 URL 복사하기
배포가 완료되면 앱의 URL이 생성됩니다!
-
배포 완료 화면에서 웹 앱 URL이 표시됩니다
https://script.google.com/macros/s/... 형태의 긴 URL
- "복사" 버튼을 클릭하여 URL을 복사합니다
- "완료"를 클릭합니다
📍 배포 완료 화면
┌─────────────────────────────────────────────┐
│ 배포 완료! ✅ │
├─────────────────────────────────────────────┤
│ │
│ 웹 앱 │
│ │
│ URL: │
│ ┌─────────────────────────────────────┐ │
│ │ https://script.google.com/macros/ │ │
│ │ s/AKfycbw.../exec │ │
│ └─────────────────────────────────────┘ │
│ │
│ 복사 ← 클릭! │
│ │
│ 완료 │
└─────────────────────────────────────────────┘
이 URL을 QR코드로 만들어서 배포하면,
참석자들이 스마트폰으로 바로 출석체크할 수 있습니다!
QR코드 만들기: 구글에서 "QR코드 생성기" 검색
참석자들이 스마트폰으로 바로 출석체크할 수 있습니다!
QR코드 만들기: 구글에서 "QR코드 생성기" 검색
11
앱 테스트하기
만든 앱이 잘 작동하는지 확인합니다.
- 새 브라우저 탭을 열고 복사한 URL을 붙여넣기합니다
-
출석체크 앱 화면이 나타납니다
첫 접속 시 "고급 → 안전하지 않음으로 이동" 과정이 필요할 수 있습니다
- 이름을 입력하고 "출석" 버튼을 클릭합니다
-
스프레드시트로 돌아가서 "출석현황" 시트를 확인합니다
날짜, 시간, 이름이 자동으로 기록되어 있으면 성공! 🎉
🔄 앱 수정 후 업데이트 방법
코드를 수정한 후에는 새로 배포해야 변경사항이 적용됩니다.
- code.gs 또는 index.html 파일 수정
- Ctrl + S 로 저장
- → 클릭
- 오른쪽 상단 ✏️ 연필 아이콘 클릭
- 버전을 "새 버전"으로 변경
- "배포" 클릭
코드 수정 후 저장만 하면 적용되지 않습니다!
반드시 "새 버전으로 배포"를 해야 변경사항이 반영됩니다.
반드시 "새 버전으로 배포"를 해야 변경사항이 반영됩니다.
🔧 자주 발생하는 오류와 해결방법
| 오류 상황 | 해결방법 |
|---|---|
| 스크립트 오류 발생 | 시트 이름이 코드와 일치하는지 확인 (대소문자, 띄어쓰기) |
| 권한 오류 | 배포 시 "모든 사용자" 설정 확인, 권한 승인 다시 진행 |
| 데이터가 안 들어감 | 스프레드시트 URL이 올바른지 확인 |
| 수정해도 안 바뀜 | 저장 후 "새 버전"으로 다시 배포 |
| 앱이 안 열림 | URL을 새 탭에 붙여넣고, "고급 → 이동" 클릭 |
❓ 자주 묻는 질문 (FAQ)
코드를 직접 작성해야 하나요?
아니요! AI(Gemini, Claude 등)에게 원하는 기능을 설명하면 코드를 작성해줍니다. 우리는 기획만 하면 됩니다.
앱을 수정하면 기존 URL이 바뀌나요?
아니요! "배포 관리"에서 업데이트하면 같은 URL로 새 버전이 적용됩니다. QR코드를 다시 만들 필요 없어요.
몇 명까지 동시에 사용할 수 있나요?
구글 무료 계정 기준으로 하루 약 20,000회 실행 가능합니다. 일반적인 출석체크에는 충분합니다.
스마트폰에서도 사용 가능한가요?
네! 웹 앱이므로 스마트폰 브라우저에서 URL에 접속하면 바로 사용할 수 있습니다.
✅ 실습 완료 체크리스트
스프레드시트 사본 만들기 완료
시트 구조(출석현황, 참석자리스트) 확인
앱스 스크립트 편집기 열기 완료
코드 저장 완료 (주황색 점 사라짐)
웹 앱으로 배포 완료
권한 승인 완료 (2회)
앱 URL 복사 완료
테스트 성공 (출석 데이터가 시트에 기록됨)
👉 더 배워보기
앱스 스크립트로 만들 수 있는 것들:
- 📋 자동 수료증 발급 시스템
- 📧 자동 이메일 발송
- 📊 설문 결과 자동 분석
- 🗓️ 일정 자동 등록
- 📝 문서 자동 생성
Gemini에게 "구글 앱스 스크립트로 ○○○ 만들어줘"라고 요청해보세요!
'AI' 카테고리의 다른 글
| 휴대폰으로 노래 만들기(ChatGPT + Suno) (1) | 2025.11.22 |
|---|---|
| Vrew.ai 왕초보 가이드 (0) | 2025.11.22 |
| view.ai 영상만들기 기본과정 (0) | 2025.11.22 |
| 디지털 도구를 활용한 업무 자동화 및 콘텐츠 제작 실무 가이드 (3) | 2025.11.22 |
| Google Flow(Veo) 영상만들기 고급 과정 (3) | 2025.11.19 |