VIBE 코딩/VIBE Lv1

Google Cloud 프로젝트 및 서비스 계정 생성

cocyio 2025. 7. 25. 03:33

[1] Google Cloud 프로젝트 및 서비스 계정 생성

① Google Cloud Console 접속

② 새 프로젝트 생성 (or 기존 프로젝트 선택)

  • 상단의 프로젝트 드롭다운 → 새 프로젝트 만들기 → 이름 지정 후 생성

③ API 활성화

  1. 좌측 메뉴 → "API 및 서비스" → "라이브러리"
  2. "Google Sheets API" 검색 → 활성화
  3. "Google Drive API"도 함께 활성화 (시트 문서 접근 필요 시)

④ 서비스 계정 만들기

  1. 좌측 메뉴 → "IAM 및 관리자" → "서비스 계정"
  2. 상단 "+ 서비스 계정 만들기"
    • 이름: sheets-access
    • 역할: 기본은 "프로젝트 → 편집자" (또는 API 호출만 할 거면 생략 가능)
  3. 생성 완료 후 → 키 탭에서 새 키 만들기
    • JSON 형식 선택 → .json 키 파일 다운로드

✅ [2] Google Sheet에 서비스 계정 접근 권한 부여

① 공유할 스프레드시트 열기

  • 대상 Google Sheets 문서 열기

② 공유 설정

  • 상단 "공유" 버튼 클릭
  • 서비스 계정의 이메일 주소 입력
    • 이메일은 JSON 키에 "client_email"로 나와있음. 예:
      sheets-access@my-project-id.iam.gserviceaccount.com
  • 권한: 편집자 로 설정
  • 저장

✅ [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 예시:

시트 ID는 1aBcD3FgHiJkLmnOpQRstuVwxyZ12AbcDEfg34567


✅ 보안 주의사항

  • .json 키는 민감한 자격증명 파일입니다.
  • 외부 노출 금지
  • .gitignore에 반드시 등록
  • 가능하면 백엔드 서버의 환경변수 경로로 관리