18. Google 인증 연결하기

18. Google 인증 연결하기

스킬은 만들었는데, 아직 안 됩니다

16편과 17편에서 Gmail, Sheets, Drive, Calendar, Tasks 5개 스킬을 만들었습니다. Claude Code가 스크립트와 SKILL.md를 생성했습니다. 파일은 다 있습니다.

그런데 "메일 확인해줘"라고 입력하면 이런 에러가 납니다:

Error: No credentials found. Please run google_auth.py --auth first.

당연합니다. Google에게 "이 앱이 제 계정에 접근해도 됩니다"라고 허락을 아직 안 받았으니까요.

비유하면 이렇습니다. 카페 POS 시스템을 설치했는데, 카드 결제 단말기를 VAN사에 등록하지 않은 상태입니다. 기계는 있는데 결제가 안 되는 거죠.

이 글에서는 그 등록 과정을 처음부터 끝까지 보여드립니다. 한 번만 하면 됩니다. 다시 할 일은 거의 없습니다.


전체 흐름을 먼저 봅니다

시작하기 전에 전체 지도를 봅니다. 4단계입니다.

단계 하는 일 누가 하나 걸리는 시간
1 통합 인증 모듈 만들기 Claude Code가 만듭니다 ~2분
2 Google Cloud Console 등록 브라우저에서 직접 합니다 ~10분
3 인증 실행 터미널에서 명령어 한 줄 ~2분
4 테스트 "메일 확인해줘" 한마디 ~1분

1번은 Claude Code에게 시킵니다. 3번과 4번은 명령어 하나씩입니다.

핵심은 2번입니다. Google Cloud Console이라는 웹사이트에 들어가서 "내 앱을 등록"하는 과정입니다. 처음 보면 메뉴가 많아서 복잡해 보이지만, 실제로 클릭하는 건 정해져 있습니다. 이 글에서 하나하나 짚겠습니다.


Step 1. Claude Code에게 통합 인증 모듈을 부탁합니다

왜 "통합" 인증인가

5개 스킬이 있습니다. Gmail, Sheets, Drive, Calendar, Tasks. 이걸 각각 따로 인증하면 5번 해야 합니다. 토큰도 5개, 설정도 5개.

그래서 통합 인증 모듈을 하나 만듭니다. 이 모듈 하나로 5개 서비스에 접근합니다. 열쇠 하나로 문 5개를 여는 겁니다.

Claude Code에게 이렇게 말합니다

Claude Code를 열고 입력합니다:

Google OAuth 통합 인증 모듈을 만들어줘.

요구사항:
- Gmail, Drive, Sheets, Calendar, Tasks 5개 서비스 한 번에 인증
- 토큰 자동 갱신
- WSL 환경에서도 작동 (--console 옵션)
- 다른 스킬에서 import해서 쓸 수 있게

저장 위치: ~/.claude/lib/google_auth.py
토큰 저장: ~/.config/google-unified/unified_token.pickle
클라이언트 시크릿: ~/.config/google-unified/client_secret.json

이 프롬프트에서 중요한 부분은 저장 위치 3줄입니다. 어디에 뭘 놓을지 미리 정해주는 겁니다. 나중에 "파일을 못 찾겠다"는 에러를 방지합니다.

Claude Code가 만드는 것

Claude Code가 2분 정도 작업한 후, 파일을 만듭니다:

~/.claude/lib/
  google_auth.py           <- 통합 인증 모듈 (Python 스크립트)

~/.config/google-unified/
  (여기에 나중에 파일 2개가 들어갑니다)
  client_secret.json       <- Step 2에서 Google로부터 다운로드
  unified_token.pickle     <- Step 3에서 인증하면 자동 생성

google_auth.py가 핵심입니다. 16편과 17편에서 만든 각 스킬의 스크립트에 from google_auth import get_credentials라는 줄이 있습니다. "인증이 필요하면 이 모듈한테 물어봐"라는 뜻입니다.

~/.config/google-unified/ 폴더는 아직 비어 있습니다. 여기에 Google에서 받은 열쇠(client_secret.json)를 넣는 게 다음 단계입니다.

Google의 OAuth 2.0 인증 가이드에 따르면, "갱신 토큰(refresh token)이 있으면 자동으로 새 액세스 토큰을 발급"받습니다. google_auth.py가 이걸 자동으로 처리합니다. 한 번 인증하면 수동으로 다시 할 일은 거의 없습니다.

Step 2. Google Cloud Console에서 등록하기

이 단계가 이 글의 핵심입니다. 브라우저에서 직접 하는 유일한 단계이고, 처음이면 낯설 수 있습니다.

하지만 실제로 하는 일은 단순합니다:

  1. 프로젝트를 하나 만듭니다 (폴더 만들기 같은 것)
  2. API 5개를 켭니다 (스위치 5개 켜는 것)
  3. "이 앱은 안전합니다"라고 설정합니다
  4. 열쇠 파일(JSON)을 하나 다운로드합니다

하나씩 갑니다.

2-1. Google Cloud Console에 들어갑니다

브라우저를 열고 이 주소로 갑니다:

https://console.cloud.google.com

Google 계정으로 로그인합니다. 평소 쓰는 Gmail 계정이면 됩니다. 나중에 이 계정의 Gmail, Drive, Calendar 등에 접근하게 됩니다.

처음 들어가면 대시보드가 나옵니다. 메뉴가 많습니다. 당황하지 않아도 됩니다. 우리가 쓸 메뉴는 3개뿐입니다.

2-2. 새 프로젝트를 만듭니다

화면 맨 위, Google Cloud 로고 오른쪽에 프로젝트 이름이 보입니다. 처음이면 "My First Project"라고 되어 있거나, 프로젝트 선택 드롭다운이 있습니다.

  1. 상단의 프로젝트 선택 드롭다운을 클릭합니다
  2. 팝업이 뜹니다. 오른쪽 위에 새 프로젝트 버튼이 있습니다. 클릭합니다
  3. 프로젝트 이름을 입력합니다

프로젝트 이름은 아무거나 됩니다. 본인만 보는 이름입니다. 예시:

claude-code-skills
  1. 만들기 버튼을 클릭합니다

몇 초 기다리면 프로젝트가 생성됩니다. 상단에 프로젝트 이름이 바뀌었는지 확인합니다. "claude-code-skills"로 바뀌어 있어야 합니다.

프로젝트는 "폴더"라고 생각하면 됩니다. Google Cloud의 모든 설정은 프로젝트 안에 들어갑니다. 우리는 이 폴더 안에 API 5개를 켜고, 인증 설정을 넣을 겁니다.

2-3. API 5개를 켭니다

프로젝트를 만들었으면, 이 프로젝트에서 쓸 API를 켜야 합니다. 기본 상태에서는 모든 API가 꺼져 있습니다.

메뉴 찾아가기:

  1. 왼쪽 상단의 햄버거 메뉴 (가로 줄 3개)를 클릭합니다
  2. 목록에서 API 및 서비스를 찾습니다
  3. 그 아래 라이브러리를 클릭합니다

API 라이브러리 페이지가 열립니다. 검색창이 있습니다.

Gmail API 켜기:

  1. 검색창에 Gmail API를 입력합니다
  2. 검색 결과에서 Gmail API (Google 마크가 있는 공식 항목)를 클릭합니다
  3. 상세 페이지에서 파란색 사용 버튼을 클릭합니다
  4. "API가 사용 설정되었습니다"라는 메시지가 나오면 성공입니다

나머지 4개도 같은 방식으로 켭니다:

다시 API 라이브러리로 돌아가서 (브라우저 뒤로가기 2번, 또는 왼쪽 메뉴에서 "라이브러리" 다시 클릭), 같은 과정을 반복합니다:

검색어 클릭할 항목
Gmail API Gmail API → 사용
Google Sheets API Google Sheets API → 사용
Google Drive API Google Drive API → 사용
Google Calendar API Google Calendar API → 사용
Google Tasks API Tasks API → 사용
체크리스트: 5개를 모두 켰는지 확인합니다. 하나라도 빠지면, 해당 스킬이 "API not enabled" 에러를 냅니다. 왼쪽 메뉴 > API 및 서비스 > 사용 설정된 API 및 서비스에서 5개가 모두 목록에 있는지 확인할 수 있습니다.

2-4. OAuth 동의 화면을 설정합니다

API를 켰으면, 이제 "이 앱은 안전합니다"라는 설정을 해야 합니다. Google이 "누가 만든 앱이고, 뭘 하는 앱인지" 알아야 허락해주니까요.

"OAuth 동의 화면"이라는 이름이 어렵게 느껴질 수 있습니다. 쉽게 말하면 "앱 소개서"입니다. Google에게 "이 앱은 이런 앱이고, 이 사람이 만들었습니다"라고 알려주는 겁니다.

메뉴 찾아가기:

  1. 왼쪽 메뉴에서 API 및 서비스를 클릭합니다
  2. 그 아래 OAuth 동의 화면을 클릭합니다

User Type 선택

처음 들어가면 "User Type을 선택하세요"라는 화면이 나옵니다.

  • 내부: Google Workspace(회사 계정) 사용자만 씁니다. 개인은 선택할 수 없습니다.
  • 외부: 모든 Google 계정이 쓸 수 있습니다.

외부를 선택하고 만들기를 클릭합니다.

개인 Gmail 계정이면 "외부"만 선택 가능합니다. "외부"라고 해서 다른 사람이 쓴다는 게 아닙니다. 나중에 "테스트 사용자"에 본인만 등록하면, 본인만 쓸 수 있습니다.

앱 정보 입력

입력 폼이 나옵니다. 필드가 많아 보이지만, 실제로 채울 건 3개뿐입니다.

필드 입력할 내용 설명
앱 이름 Claude Code Skills 아무 이름. 본인만 봅니다.
사용자 지원 이메일 본인 이메일 (드롭다운에서 선택) 드롭다운을 클릭하면 로그인한 계정이 나옵니다. 선택합니다.
개발자 연락처 정보 본인 이메일 맨 아래에 있습니다. 직접 입력합니다.

나머지 필드 (앱 로고, 앱 도메인, 승인된 도메인 등)는 비워둡니다. 입력할 필요 없습니다.

저장 후 계속 버튼을 클릭합니다.

범위(Scopes) 설정

다음 화면은 "범위"입니다. 이 앱이 Google 계정의 어떤 데이터에 접근할 수 있는지 정하는 겁니다.

  1. 범위 추가 또는 삭제 버튼을 클릭합니다
  2. 오른쪽에 패널이 열립니다. 상단에 필터 검색창이 있습니다

여기서 5개의 범위를 추가해야 합니다. 하나씩 검색해서 체크합니다:

첫 번째: Gmail

  1. 필터에 gmail을 입력합니다
  2. 결과 목록에서 .../auth/gmail.modify를 찾습니다 (Gmail API 아래에 있음)
  3. 체크박스를 클릭합니다

두 번째: Drive

  1. 필터를 지우고 drive를 입력합니다
  2. .../auth/drive를 찾아 체크합니다

세 번째: Sheets

  1. 필터를 지우고 spreadsheets를 입력합니다
  2. .../auth/spreadsheets를 찾아 체크합니다

네 번째: Calendar

  1. 필터를 지우고 calendar를 입력합니다
  2. .../auth/calendar를 찾아 체크합니다 (.../auth/calendar, read/write 권한)

다섯 번째: Tasks

  1. 필터를 지우고 tasks를 입력합니다
  2. .../auth/tasks를 찾아 체크합니다

5개를 모두 체크한 후 아래의 업데이트 버튼을 클릭합니다.

패널이 닫히고 범위 목록이 표시됩니다. 5개가 있는지 확인합니다.

저장 후 계속 버튼을 클릭합니다.

테스트 사용자 추가

이 단계가 가장 중요합니다. 빼먹으면 나중에 "Access blocked" 에러가 납니다. 10명 중 7명이 여기서 막힙니다.

다음 화면은 "테스트 사용자"입니다.

왜 필요한지 설명합니다. 우리가 만든 앱은 아직 Google의 "검토"를 받지 않은 상태입니다. 검토를 받으려면 몇 주가 걸리고, 개인용 앱에는 필요 없습니다. 대신 "테스트 모드"로 운영합니다. 테스트 모드에서는 여기에 등록된 사용자만 앱을 쓸 수 있습니다.

본인만 쓸 거니까 본인 이메일만 넣으면 됩니다.

  1. + ADD USERS 버튼을 클릭합니다
  2. 입력란에 본인 Gmail 주소를 입력합니다 (Google Cloud Console에 로그인한 그 계정)
  3. 추가 버튼을 클릭합니다
  4. 목록에 본인 이메일이 보이면 됩니다

저장 후 계속을 클릭합니다.

요약 확인

마지막 화면은 요약입니다. 지금까지 입력한 내용을 보여줍니다. 특별히 수정할 건 없습니다.

대시보드로 돌아가기를 클릭합니다.

2-5. 사용자 인증 정보를 만듭니다 (열쇠 다운로드)

마지막 단계입니다. "이 앱의 신분증"에 해당하는 파일을 만들고 다운로드합니다.

메뉴 찾아가기:

  1. 왼쪽 메뉴에서 API 및 서비스를 클릭합니다
  2. 그 아래 사용자 인증 정보를 클릭합니다

이 페이지에 들어가면 "사용자 인증 정보" 목록이 비어 있을 겁니다.

인증 정보 만들기:

  1. 상단의 + 사용자 인증 정보 만들기 버튼을 클릭합니다
  2. 드롭다운에서 OAuth 클라이언트 ID를 선택합니다

폼이 나옵니다:

필드 선택
애플리케이션 유형 드롭다운에서 데스크톱 앱 선택
이름 Claude Code (아무 이름)

만들기 버튼을 클릭합니다.

팝업이 뜹니다. "OAuth 클라이언트가 생성되었습니다"라는 메시지와 함께 클라이언트 ID와 클라이언트 보안 비밀번호가 표시됩니다.

여기서 할 일은 하나입니다:

JSON 다운로드 버튼을 클릭합니다.

파일이 다운로드됩니다. 파일명이 client_secret_XXXX...XXXX.apps.googleusercontent.com.json처럼 길게 되어 있을 겁니다. 정상입니다.

팝업에서 확인을 누르고 닫습니다.

2-6. 다운로드한 파일을 정해진 위치에 놓습니다

다운로드된 JSON 파일을 Step 1에서 정한 위치로 옮깁니다. 이게 "열쇠를 열쇠 보관함에 넣는" 단계입니다.

Claude Code에게 이렇게 말합니다:

방금 Google Cloud Console에서 client_secret JSON 파일을 다운로드했어.
~/.config/google-unified/ 폴더에 client_secret.json 이름으로 옮겨줘.

Claude Code가 파일을 찾아서 옮겨줍니다. 다운로드 폴더에서 파일을 찾고, 이름을 바꾸고, 지정된 폴더로 이동하는 것까지.

직접 하고 싶다면 터미널에서 이 명령어를 씁니다:

# 1. 폴더 만들기 (처음 한 번만)
mkdir -p ~/.config/google-unified/

# 2. 파일 옮기기

# Windows (WSL) 사용자:
cp /mnt/c/Users/[사용자명]/Downloads/client_secret_*.json \
   ~/.config/google-unified/client_secret.json

# Mac 사용자:
cp ~/Downloads/client_secret_*.json \
   ~/.config/google-unified/client_secret.json

[사용자명] 부분은 본인의 Windows 사용자명으로 바꿉니다. 모르겠으면 ls /mnt/c/Users/를 실행해서 확인합니다.

확인:

ls -la ~/.config/google-unified/client_secret.json

파일이 보이면 됩니다. 파일 크기가 0이 아닌지도 확인합니다 (보통 400~500 바이트).

파일 이름이 정확해야 합니다. client_secret.json이어야 합니다. 원래 다운로드된 파일명(client_secret_XXXX...json)을 그대로 두면 google_auth.py가 못 찾습니다. 반드시 client_secret.json으로 이름을 바꿔야 합니다.

여기까지 하면 Google Cloud Console 작업은 끝입니다. 브라우저를 닫아도 됩니다.


Step 3. 인증을 실행합니다

열쇠(client_secret.json)가 제자리에 있습니다. 이제 이 열쇠로 Google에게 "문 열어주세요"라고 요청합니다.

Claude Code에게 이렇게 말합니다:

Google 인증 실행해줘.

Claude Code가 google_auth.py --auth --console을 실행합니다. 직접 하려면:

python3 ~/.claude/lib/google_auth.py --auth --console

터미널에 이런 내용이 나옵니다

Please visit this URL to authorize this application:
https://accounts.google.com/o/oauth2/auth?client_id=XXXX...

Enter the authorization code:

URL이 하나 나옵니다. 이 URL을 복사해야 합니다.

URL을 브라우저에 붙여넣습니다

  1. 터미널에 표시된 URL 전체를 복사합니다 (https://accounts.google.com/... 부분)
  2. 브라우저 주소창에 붙여넣고 Enter를 누릅니다
  3. Google 로그인 화면이 나옵니다. 아까 Cloud Console에서 쓴 그 계정으로 로그인합니다

"이 앱은 Google의 확인을 거치지 않았습니다" 경고

이 화면이 나올 수 있습니다. 당황하지 않아도 됩니다. 우리가 만든 앱이니까 당연합니다. Google의 공식 검토를 받지 않은 개인 앱이라는 뜻입니다.

  1. 고급 (또는 "Advanced")을 클릭합니다
  2. Claude Code Skills(으)로 이동 (또는 "Go to Claude Code Skills (unsafe)")을 클릭합니다

"unsafe"라고 써있어서 불안할 수 있지만, 이건 Google이 "이 앱을 우리가 검토하지 않았다"는 뜻입니다. 앱이 본인 PC에서 돌아가고, 만든 것도 본인이니까 문제 없습니다.

권한 허용 화면

"Claude Code Skills에서 Google 계정에 액세스하려고 합니다" 라는 화면이 나옵니다.

아래에 권한 목록이 보입니다:
- Gmail 메시지 확인 및 관리
- Google Drive 파일 관리
- Google Sheets 스프레드시트 관리
- Google Calendar 일정 관리
- Google Tasks 관리

이게 우리가 Step 2-4에서 설정한 범위(Scopes)입니다. 맞는지 확인하고:

허용 (또는 "Allow") 버튼을 클릭합니다.

인증 코드 복사

허용을 누르면 화면에 인증 코드가 표시됩니다. 긴 문자열입니다.

4/0AXXXX...XXXX

이 코드를 복사합니다.

터미널에 붙여넣기

아까 터미널에서 Enter the authorization code: 라고 기다리고 있었습니다. 여기에 복사한 코드를 붙여넣고 Enter를 누릅니다.

Enter the authorization code: 4/0AXXXX...XXXX

Authentication successful!
Token saved to ~/.config/google-unified/unified_token.pickle
이 토큰 하나로 Gmail, Sheets, Drive, Calendar, Tasks 5개 서비스가 연결됩니다. unified_token.pickle 파일이 ~/.config/google-unified/에 생겼습니다. 이 파일이 있는 한, 다시 인증할 필요 없습니다.

참고: --console 옵션은 "브라우저가 자동으로 안 열리는 환경"(WSL 등)을 위한 것입니다. Mac에서는 --console 없이 실행하면 브라우저가 자동으로 열리고, 인증 코드를 직접 복사할 필요 없이 자동으로 처리됩니다.


Step 4. 되는지 확인합니다

인증이 끝났습니다. 이제 5개 스킬이 실제로 작동하는지 하나씩 테스트합니다.

Claude Code를 열고 말합니다:

Gmail 테스트

읽지 않은 메일 확인해줘

Gmail 스킬이 작동합니다. 발신자, 제목, 날짜가 테이블로 정리되어 나옵니다. 이게 나오면 Gmail 연결 성공입니다.

Calendar 테스트

오늘 일정 보여줘

Calendar 스킬이 오늘의 일정을 가져옵니다. 일정이 없으면 "오늘은 일정이 없습니다"라고 나옵니다. 에러가 안 나면 성공입니다.

Sheets 테스트

Google Sheets 목록 보여줘

최근 스프레드시트 목록이 나옵니다. 특정 시트를 읽으려면 시트 URL이나 ID가 필요합니다.

Drive 테스트

Google Drive 최근 파일 5개 보여줘

Drive의 최근 파일이 나옵니다. 파일명, 수정일이 표시됩니다.

Tasks 테스트

할 일 추가해줘: 인증 테스트 완료

Tasks 스킬이 Google Tasks에 항목을 추가합니다. 안드로이드 폰의 Google Tasks 위젯을 확인하면, 방금 추가한 항목이 보입니다.

5개가 다 작동하면, 15편에서 보여드린 시나리오들이 전부 가능해집니다. 아침 루틴, 급여 처리, 영수증 관리, 할 일 동기화. 인증은 이 한 번으로 끝입니다.

에러가 나면

인증 과정에서 만나는 에러의 90%는 두 가지입니다. 나머지 10%도 아래에 다 있습니다.

가장 흔한 에러 2가지

1. "Access blocked: This app's request is invalid" 또는 "403 access_denied"

원인: Step 2-4에서 테스트 사용자에 본인 이메일을 추가하지 않았습니다.

해결:
1. Google Cloud Console에 다시 들어갑니다
2. 왼쪽 메뉴 > API 및 서비스 > OAuth 동의 화면
3. 테스트 사용자 섹션으로 갑니다
4. + ADD USERS 클릭 > 본인 이메일 입력 > 추가
5. 터미널에서 인증을 다시 실행합니다

2. "File not found: client_secret.json"

원인: JSON 파일이 잘못된 위치에 있거나, 이름이 다릅니다.

해결:

# 파일이 있는지 확인
ls -la ~/.config/google-unified/

# 파일명이 client_secret.json인지 확인
# client_secret_XXXX.json 이렇게 되어 있으면 이름 변경:
mv ~/.config/google-unified/client_secret_*.json \
   ~/.config/google-unified/client_secret.json

그 외 에러

"Token has been expired or revoked"

토큰이 만료되었습니다. 보통 자동 갱신되지만, 간혹 수동 재인증이 필요합니다.

# 기존 토큰 삭제
rm ~/.config/google-unified/unified_token.pickle

# 인증 다시 실행
python3 ~/.claude/lib/google_auth.py --auth --console

Step 3의 과정을 다시 한 번 하면 됩니다.

"ModuleNotFoundError: No module named 'google'"

Python 패키지가 설치되지 않았습니다. Claude Code에게 말합니다:

google-auth 관련 패키지 설치해줘

또는 직접:

pip install google-auth google-auth-oauthlib google-api-python-client

"Error 400: redirect_uri_mismatch"

OAuth 클라이언트 유형이 잘못 설정되었습니다. Step 2-5에서 "데스크톱 앱"을 선택해야 하는데, "웹 애플리케이션"을 선택한 경우 이 에러가 납니다.

해결:
1. Google Cloud Console > 사용자 인증 정보
2. 기존 OAuth 클라이언트를 삭제합니다
3. 다시 만들기 > 데스크톱 앱 선택
4. JSON 다운로드 > 파일 이동 > 인증 재실행

"This app is blocked" (Google Workspace 계정)

회사 Google Workspace 계정을 쓰는 경우, 관리자가 외부 앱 접근을 막아둔 것일 수 있습니다.

해결: IT 관리자에게 "OAuth 앱 접근 허용"을 요청하거나, 개인 Gmail 계정을 사용합니다.


자주 묻는 질문

Q: 이 과정 전체를 Claude Code에게 시킬 수는 없나요?

Step 1(인증 모듈 만들기)과 Step 2-6(파일 옮기기)과 Step 3(인증 실행)은 Claude Code가 합니다. 하지만 Step 2(Google Cloud Console 등록)는 브라우저에서 직접 해야 합니다. Google 계정의 보안 설정이기 때문에, 본인이 직접 로그인해서 "허용"을 눌러야 합니다. 이건 프로그래밍의 한계가 아니라, Google의 보안 정책입니다.

Q: 처음부터 끝까지 얼마나 걸리나요?

처음이면 15분 정도. 두 번째부터는 5분. Cloud Console 메뉴가 어디 있는지 알면 빠릅니다.

Q: 토큰이 만료되면 이 과정을 전부 다시 해야 하나요?

아닙니다. google_auth.py가 자동으로 토큰을 갱신합니다. Google의 OAuth 2.0 프로토콜에 따르면, 갱신 토큰(refresh token)이 유효한 동안 새 액세스 토큰을 자동 발급합니다. 수동 재인증이 필요한 경우는 거의 없습니다. 만약 필요하더라도 Step 3(터미널 한 줄)만 다시 하면 됩니다. Cloud Console을 다시 들어갈 필요 없습니다.

Q: 회사 Google Workspace 계정도 되나요?

됩니다. 단, Workspace 관리자가 OAuth 앱 접근을 허용해야 할 수 있습니다. 관리 콘솔 > 보안 > API 제어에서 확인합니다. 관리자 권한이 없으면 IT 팀에 문의합니다.

Q: 보안이 걱정됩니다. 내 Google 데이터가 어디로 가나요?

Google의 OAuth 2.0 인증 가이드에 따르면, OAuth는 "사용자의 비밀번호를 제3자와 공유하지 않고도 서비스 접근을 허용"하는 방식입니다. 정리하면:

  • 비밀번호는 어디에도 저장되지 않습니다. OAuth는 비밀번호 대신 토큰을 사용합니다.
  • 토큰은 본인 PC에만 저장됩니다. ~/.config/google-unified/unified_token.pickle 파일.
  • 외부 서버를 거치지 않습니다. Claude Code는 로컬에서 실행되므로, API 호출은 본인 PC에서 Google 서버로 직접 갑니다.
  • 언제든 끊을 수 있습니다. Google 계정 설정 > 보안 > 서드파티 액세스에서 "Claude Code Skills"를 삭제하면 즉시 연결이 끊깁니다.

client_secret.json은 Git에 올라가지 않도록 .gitignore에 포함해야 합니다. 이 파일이 유출되면 다른 사람이 같은 설정으로 앱을 만들 수 있습니다. (토큰은 별도이므로, 이 파일만으로 계정에 접근할 수는 없습니다.)

Q: 여러 Google 계정을 쓰고 싶으면 어떻게 하나요?

현재 구조는 계정 하나를 기준으로 만들어져 있습니다. 다른 계정을 추가하려면 별도의 토큰 파일이 필요합니다. Claude Code에게 "두 번째 Google 계정용 인증 모듈을 만들어줘"라고 말하면 됩니다.


정리: 한 번이면 됩니다

단계 한 줄 요약 다시 할 일
Step 1 Claude Code가 인증 모듈 만듦 없음
Step 2 Cloud Console에서 앱 등록 없음
Step 3 터미널에서 인증 실행 극히 드물게
Step 4 "메일 확인해줘"로 테스트 없음

16편에서 스킬을 만들고, 17편에서 나머지를 추가하고, 이 글에서 인증을 연결했습니다. 5개 Google Skills가 작동합니다.


다음 글에서

스킬 5개가 작동합니다. 다음 글(19편)에서는 이 스킬들이 하나의 워크플로우로 엮이는 사례를 보여드립니다.

Gmail에서 점장 메일을 수집하고, Sheets에서 직원 데이터를 읽고, 급여대장을 만들고, 다시 Gmail로 세무사에게 보냅니다. 사업장 5곳, 직원 15명의 급여를 터미널 하나에서 처리합니다.


Tags: #Claude-Code #Season2 #Google-Skills #OAuth #인증 #Google-Cloud-Console #비개발자 #자동화

Subscribe to 비개발자를 위한 Claude Code | 일을 잘하기 위한 AI Workspace

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe