VIBE 코딩/VIBE Lv1
Google Cloud 프로젝트 및 서비스 계정 생성
cocyio
2025. 7. 25. 03:33
[1] Google Cloud 프로젝트 및 서비스 계정 생성
① Google Cloud Console 접속
② 새 프로젝트 생성 (or 기존 프로젝트 선택)
- 상단의 프로젝트 드롭다운 → 새 프로젝트 만들기 → 이름 지정 후 생성
③ API 활성화
- 좌측 메뉴 → "API 및 서비스" → "라이브러리"
- "Google Sheets API" 검색 → 활성화
- "Google Drive API"도 함께 활성화 (시트 문서 접근 필요 시)
④ 서비스 계정 만들기
- 좌측 메뉴 → "IAM 및 관리자" → "서비스 계정"
- 상단 "+ 서비스 계정 만들기"
- 이름: sheets-access
- 역할: 기본은 "프로젝트 → 편집자" (또는 API 호출만 할 거면 생략 가능)
- 생성 완료 후 → 키 탭에서 새 키 만들기
- JSON 형식 선택 → .json 키 파일 다운로드
✅ [2] Google Sheet에 서비스 계정 접근 권한 부여
① 공유할 스프레드시트 열기
- 대상 Google Sheets 문서 열기
② 공유 설정
- 상단 "공유" 버튼 클릭
- 서비스 계정의 이메일 주소 입력
- 이메일은 JSON 키에 "client_email"로 나와있음. 예:
sheets-access@my-project-id.iam.gserviceaccount.com
- 이메일은 JSON 키에 "client_email"로 나와있음. 예:
- 권한: 편집자 로 설정
- 저장
✅ [3] 백엔드에 JSON 키 저장 및 사용
예시 디렉토리 구조
bash
복사편집
/backend ├── keys/ │ └── google-service-account.json └── ...
❗ 절대로 Git에 업로드되지 않도록 .gitignore에 추가
perl
복사편집
keys/*.json
✅ [4] 예시 코드로 확인 (Node.js 기준)
bash
복사편집
npm install googleapis
js
복사편집
// googleSheetsClient.js const { google } = require('googleapis'); const auth = new google.auth.GoogleAuth({ keyFile: 'keys/google-service-account.json', scopes: ['https://www.googleapis.com/auth/spreadsheets.readonly'], }); const sheets = google.sheets({ version: 'v4', auth }); async function readSheet() { const res = await sheets.spreadsheets.values.get({ spreadsheetId: '시트 ID', range: 'Sheet1!A1:D10', }); return res.data.values; }
✅ 시트 ID 알아내기
문서 URL 예시:
bash
복사편집
→ 시트 ID는 1aBcD3FgHiJkLmnOpQRstuVwxyZ12AbcDEfg34567
✅ 보안 주의사항
- .json 키는 민감한 자격증명 파일입니다.
- 외부 노출 금지
- .gitignore에 반드시 등록
- 가능하면 백엔드 서버의 환경변수 경로로 관리