가이드

Google 시트를 앱에 연결하는 법

Google 시트를 앱에 연결하려면 Google Cloud 프로젝트에서 Google Sheets API를 켜고, 서비스 계정을 만든 뒤, 스프레드시트를 서비스 계정의 이메일 주소와 공유하고, 그 키를 서버 측 시크릿으로 저장하세요. 그러면 서버는 spreadsheets.values.get으로 행을 읽고, spreadsheets.values.append로 행을 추가할 수 있습니다. 사용자가 자기 자신의 시트를 연결해야 한다면 OAuth를 쓰고, 시트가 완전히 공개되어 있다면 읽기만 하는 간단한 API 키로 충분합니다.

이 가이드는 어떤 방식이 맞는지, 필요한 호출, 할당량과 주의점, 그리고 AI 앱 빌더용 프롬프트를 다룹니다. Google 세부 사항은 2026년 9월 기준 Google 개발자 문서를 따릅니다.

시트를 연결하는 이유

흔한 이유는 다음과 같습니다.

  • 팀의 작업 방식 유지. 직원들은 가격표나 일정을 계속 시트에서 편집하고, 앱은 그것을 보여 줍니다.
  • 사람들이 이미 보는 곳에 데이터 모으기. 신규 가입, 주문, 폼 응답이 행으로 쌓입니다.
  • 보고. 앱 데이터를 스프레드시트에 사는 사람들을 위해 시트로 내보냅니다.
  • 디딤돌. 시트에서 시작해 나중에 제대로 된 데이터베이스로 옮깁니다. 스프레드시트를 앱으로 바꾸는 법을 참고하세요.

Google에 앱이 인증하는 방법 고르기

Google의 인증 정보 가이드는 세 가지 유형을 설명합니다.

인증 정보접근할 수 있는 것적합한 경우
API 키"링크가 있는 모든 사용자"로 공유된 파일처럼 공개된 데이터만공개 시트 읽기
서비스 계정앱이 소유한 데이터, 또는 서비스 계정 이메일에 공유된 특정 파일앱이 내 시트를 읽고 쓰기
OAuth 클라이언트 ID사용자가 동의한 사용자 본인의 파일각 사용자가 자기 시트를 연결하게 하기

대부분의 앱에는 서비스 계정이 맞습니다. 인증 정보는 하나이고 본인이 소유하며, 명시적으로 공유한 시트에만 접근합니다.

서비스 계정으로 하는 단계별 방법

  1. Google Cloud 프로젝트를 만들거나 고르고 Google Sheets API를 켜세요.
  2. 서비스 계정을 만들고 그 키를 생성하세요. 키는 JSON 파일이며, 비밀번호처럼 다루세요.
  3. 스프레드시트를 서비스 계정의 이메일 주소와 공유하세요. 읽기 전용이면 뷰어, 쓰기가 필요하면 편집자로 설정합니다. Google 가이드에 따르면 일반 공유 화면에서 하면 됩니다.
  4. 키를 서버에 시크릿으로 저장하세요. 예를 들어 GOOGLE_SERVICE_ACCOUNT_JSON과, 시트 URL에 있는 긴 문자열인 스프레드시트 ID를 SHEET_ID로 저장합니다.
  5. 서버에서 API를 호출하세요. 사용하는 언어의 Google 클라이언트 라이브러리를 씁니다.
  6. 읽기 결과를 캐시하세요. 많은 방문자가 같은 데이터를 본다면 할당량에 걸리지 않도록 합니다.

쓰게 될 호출

Google의 값 읽기 및 쓰기 가이드에서 가져온 목록입니다.

메서드하는 일
spreadsheets.values.getLeads!A1:E 같은 범위 하나를 읽음
spreadsheets.values.batchGet한 번의 요청으로 여러 범위를 읽음
spreadsheets.values.update특정 범위에 씀
spreadsheets.values.append표의 기존 데이터 뒤에 행을 추가함

범위는 A1 표기법을 씁니다. Google은 A1:B2처럼 시트 이름이 없는 범위는 첫 번째 시트에 적용된다고 안내합니다. 누군가 탭 순서를 바꿨을 때 놀라지 않도록 탭 이름을 명시하세요.

RAW와 USER_ENTERED

쓰기 요청에는 valueInputOption이 필요합니다.

  • RAW는 보낸 값을 그대로 텍스트로 저장합니다. =1+2는 텍스트 =1+2로 저장됩니다.
  • USER_ENTERED는 입력을 시트에 직접 타이핑한 것처럼 처리합니다. 날짜는 날짜가 되고, =1+2는 수식이 됩니다.

앱에서 사용자가 입력한 텍스트를 쓴다면 RAW를 쓰세요. USER_ENTERED를 쓰면 누군가 수식을 제출했을 때, 동료가 시트를 열 때 그 수식이 실행될 수 있습니다.

할당량과 오류

2026년 9월 기준 Google의 Sheets API 한도 페이지는 다음을 나열합니다.

한도읽기 요청쓰기 요청
프로젝트당 분당300300
프로젝트 내 사용자당 분당6060

분당 할당량 안에 있는 한 일일 한도는 없습니다. 이를 넘으면 429: Too many requests가 반환되며, Google은 절단된 지수 백오프를 권장합니다. 실패한 시도마다 대기 시간을 늘리고 임의의 지연을 더하되, 최대치까지만 늘리는 방식입니다. 한 번의 요청이 180초를 넘으면 시간 초과됩니다.

실무에서는 페이지를 볼 때마다 API를 호출하지 마세요. 시트 데이터를 1분 이상 캐시하고, batchGet으로 읽기를 묶고, 가능하면 쓰기도 묶으세요.

선택지와 장단점

방식장점단점
시트를 실시간 데이터 원본으로 사용직원이 익숙한 도구로 편집하며, 관리자 화면을 만들 필요가 없음할당량, 행 단위 권한 없음, 열 이름만 바꿔도 쉽게 깨짐
시트를 데이터베이스로 동기화빠르고 안정적인 읽기, Sheets가 중단되어도 앱은 동작함동기화 작업과 어느 쪽이 우선인지에 대한 규칙이 필요함
데이터베이스 우선, 시트로 내보내기앱이 데이터를 소유하고, 시트는 보고서 역할시트에서 한 편집이 다시 돌아오지 않음
중간에 자동화 도구 사용단순한 흐름에는 코드가 필요 없음구독이 하나 더 생기고, 디버깅이 어려움

사용자가 많거나 민감한 데이터를 다룬다면 데이터베이스가 더 나은 진실의 원천입니다. 데이터베이스란을 참고하세요.

AI 빌더에 줄 프롬프트

시트 읽기:

메뉴 페이지에 우리 Google 시트의 "Menu" 탭을 보여 주세요. 서버에서 Google Sheets API를 사용하고, 서비스 계정 JSON 키는 시크릿 GOOGLE_SERVICE_ACCOUNT_JSON에, 스프레드시트 ID는 SHEET_ID에 넣어 주세요. Menu!A2:D 범위(이름, 설명, 가격, 카테고리)를 읽으세요. 결과는 5분 동안 캐시하세요. API가 실패하면 마지막으로 캐시된 버전을 보여 주세요. 키는 절대 브라우저로 보내지 마세요.

행 쓰기:

누군가 문의 폼을 제출하면 데이터베이스에 저장하고, 동시에 "Leads" 탭에 행을 추가해 주세요(날짜, 이름, 이메일, 메시지). valueInputOption RAW로 spreadsheets.values.append를 사용하세요. Google이 429를 반환하면 지수 백오프로 재시도하고, 그래도 실패하면 리드는 데이터베이스에 남겨 두고 나중에 다시 시도하세요.

자주 하는 실수

  • 시트를 서비스 계정 이메일과 공유하는 것을 잊는 것. 키가 맞아도 API가 권한 오류를 반환합니다.
  • 키를 프런트엔드나 저장소에 두는 것. JSON 키는 그 키와 공유된 모든 시트에 대한 접근 권한을 줍니다. API 키를 안전하게 보관하는 법을 참고하세요.
  • 사용자 입력에 USER_ENTERED를 쓰는 것. 수식 주입을 허용합니다.
  • 모든 요청마다 API를 호출하는 것. 첫 트래픽 급증에 분당 할당량에 걸립니다.
  • 열 위치에 의존하는 것. 누군가 열을 삽입하면 앱이 잘못된 데이터를 읽습니다. 헤더 행을 읽고 이름으로 매핑하거나, 헤더를 잠그세요.
  • 필요 이상으로 넓게 공유하는 것. "링크가 있는 모든 사용자"는 공개와 같습니다.
  • 다중 사용자 데이터베이스로 시트를 쓰는 것. 동시 쓰기와 누락된 권한이 데이터 손실이나 유출을 일으킵니다.

체크리스트

  • Sheets API가 켜져 있고 서비스 계정이 만들어져 있습니다
  • 시트가 서비스 계정 이메일과 필요한 최소 역할로 공유되어 있습니다
  • 키와 시트 ID가 서버 측 시크릿으로 저장되어 있습니다
  • 모든 호출이 서버에서 이루어집니다
  • 범위에 탭 이름을 사용합니다
  • 사용자가 입력한 텍스트에는 RAW를 씁니다
  • 읽기는 캐시되고, 429는 백오프로 처리합니다
  • Sheets를 사용할 수 없을 때도 앱이 우아하게 동작합니다
  • 어느 쪽이 진실의 원천인지 정했습니다

Mythex의 Google 시트

Mythex에서 Sheets를 다루는 방법은 두 가지입니다. 커넥터는 Google 계정을 Mythex에 연결해, 빌드하는 동안 에이전트가 사용할 수 있게 합니다. 예를 들어 시트를 읽어 그 데이터로 대시보드를 만드는 경우입니다. 문서에 따르면 인증 정보는 Mythex의 연결 서비스에 머무르며 코드에는 들어가지 않습니다(커넥터를 참고하고, Google이 요청하는 권한은 모두 직접 승인하세요). 게시된 앱이 혼자서 시트를 읽거나 쓰게 하려면, 이 가이드의 방식이 안정적입니다. 서비스 계정 키를 프로젝트 시크릿으로 저장하고 서버에서 Sheets API를 호출하는 것입니다(API 연동 레시피). 시트를 넘어서야 한다면, 데이터를 프로젝트의 데이터베이스로 옮기고 그 위에 대시보드를 만들어 달라고 에이전트에게 요청하세요.

자주 묻는 질문

내 앱이 비공개 Google 시트를 읽을 수 있나요?

보통은 Google Cloud 서비스 계정을 씁니다. Sheets API를 켜고, 서비스 계정과 키를 만든 다음, 스프레드시트를 서비스 계정의 이메일 주소에 뷰어 또는 편집자로 공유하세요. 서버는 시크릿으로 저장한 키를 사용해 Sheets API를 호출합니다.

Google API 키로 스프레드시트에 접근할 수 있나요?

공개된 데이터에만 가능합니다. Google의 인증 가이드에 따르면 API 키는 링크를 가진 누구나 볼 수 있는 파일처럼 공개적으로 이용 가능한 데이터에 익명으로 접근할 때 씁니다. 비공개 시트에는 서비스 계정이나 OAuth가 필요합니다.

Google Sheets API의 한도는 어떻게 되나요?

2026년 9월 기준 Google은 프로젝트당 분당 읽기 300회, 쓰기 300회, 그리고 프로젝트 내 사용자당 분당 읽기 60회, 쓰기 60회를 안내하며 일일 한도는 없습니다. 한도를 넘으면 429 오류가 반환되며, Google은 절단된 지수 백오프(truncated exponential backoff)를 권장합니다.

앱의 데이터베이스로 Google 시트를 써도 되나요?

사람들이 시트에서 데이터를 함께 편집하는 소규모, 저트래픽 앱이라면 동작합니다. 사용자가 많거나, 쓰기가 잦거나, 레코드 간 관계가 있거나, 사용자별 권한이 필요하다면 실제 데이터베이스가 더 안정적입니다. 데이터를 시트로 내보내 보고용으로 쓸 수는 있습니다.

Mythex · Pricing · AI로 무엇이든 만들기 · 웹사이트 및 앱 템플릿 · Mythex 비교 · AI 앱 개발 용어집 · 무료 AI 앱 개발 도구 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)