요약
Google Workspace CLI (gws)는 AI 에이전트에게 구조화된 JSON 출력을 통해 Gmail, Drive, Calendar, Sheets, Docs 및 모든 Google Workspace API에 직접 접근할 수 있도록 해주는 명령줄 도구입니다. 네이티브 OpenClaw 지원과 100개 이상의 사전 구축된 에이전트 기술을 통해 WhatsApp 또는 Discord와 같은 메시징 앱을 통해 전체 Workspace 워크플로우를 자동화할 수 있습니다. `npm install -g @googleworkspace/cli`를 실행한 다음 `gws auth setup`을 통해 5분 만에 설정할 수 있습니다.
서론
AI 에이전트가 여러분의 Gmail을 읽고, 캘린더를 업데이트하며, Google Drive를 손가락 하나 까딱하지 않고도 정리할 수 있다면 어떨까요?
대부분의 Google Workspace 자동화 도구는 복잡한 API 설정, 맞춤 코드 또는 비싼 서드파티 서비스를 필요로 합니다. 개발자들은 OAuth 흐름, 호출 제한 및 오래된 문서와 씨름하는 데 몇 시간을 보냅니다. 한편, AI 에이전트들은 우리가 매일 사용하는 도구에 직접 접근할 수 없기 때문에 유휴 상태로 있습니다.
Google 엔지니어들이 모든 것을 바꿀 만한 것을 막 출시했습니다. Google Workspace CLI (gws)는 이미 12,400개 이상의 GitHub 스타를 얻었으며 100개 이상의 사전 구축된 에이전트 기술과 함께 제공됩니다. Rust로 구축되었으며 런타임에 Google의 Discovery Service를 읽고, 모든 AI 에이전트가 구문 분석할 수 있는 구조화된 JSON을 출력합니다.
Google Workspace CLI란 무엇인가요?
Google Workspace CLI (gws) 는 모든 Google Workspace API를 깔끔하고 구성 가능한 명령으로 래핑하는 단일 명령줄 도구입니다. Gmail, Google Drive, Calendar, Sheets, Docs, Slides, Chat, Tasks, Meet, Forms, Keep, Classroom, Admin 등 거의 모든 Google Workspace API를 포함합니다.
다음은 여러분이 사용해본 다른 CLI 도구와 다른 점입니다.
대부분의 개발자 도구는 고정된 명령 목록과 함께 제공됩니다. Google이 새로운 API 엔드포인트를 추가하면 누군가가 수동으로 도구를 업데이트하고, 새로운 릴리스를 만들고, 모든 사람이 업그레이드하기를 바라야 합니다. 이는 끝없는 유지보수 작업입니다. 여러분이 본 대부분의 Google Workspace 래퍼는 설치할 때쯤이면 이미 오래된 것입니다.
gws는 이를 근본적으로 다른 방식으로 해결합니다. 명령을 하드코딩하는 대신, Google의 Discovery Service에 직접 연결됩니다. 이를 Google 자체의 라이브 카탈로그로 생각해보십시오. 모든 Workspace 앱에서 사용 가능한 모든 단일 작업, 모든 API, 모든 메서드, 모든 매개변수가 포함되어 있습니다. Google은 이 카탈로그를 직접 유지 관리하며, 항상 최신 상태입니다.
gws를 실행하면 가장 먼저 이 라이브 카탈로그를 가져와서 Google이 현재 사용 가능하다고 말하는 모든 것에서 명령 구조 전체를 즉시 구축합니다. Google이 오늘 오후 2시에 새로운 Sheets 기능을 출시하면, 여러분의 CLI는 오후 2시 1분에 이미 이를 지원합니다. 업데이트도, 새로운 버전도 필요 없으며, 유지 관리자가 따라잡기를 기다릴 필요도 없습니다.
이 도구는 매번 신뢰할 수 있는 출처로부터 읽기 때문에 절대 뒤처질 수 없습니다.
간단한 예시
# List the 10 most recent files
gws drive files list --params '{"pageSize": 10}'
# Create a spreadsheet
gws sheets spreadsheets create --json '{"properties": {"title": "Q1 Budget"}}'
# Send a Chat message
gws chat spaces messages create \
--params '{"parent": "spaces/xyz"}' \
--json '{"text": "Deploy complete."}'
모든 응답은 구조화된 JSON으로 반환됩니다. HTML도 아니고, 형식화된 텍스트도 아닙니다. AI 에이전트가 즉시 추론하고 행동할 수 있는 깔끔하고 예측 가능하며 기계가 읽을 수 있는 데이터입니다.
AI 에이전트에게 gws가 중요한 이유
AI 에이전트 커뮤니티는 특정 기술적인 이유로 gws에 대해 기대하고 있습니다.
구조화된 JSON 출력: 모든 응답은 구조화된 JSON으로 반환됩니다. 에이전트는 HTML을 구문 분석하거나 형식을 추측할 필요가 없습니다. 즉시 작업할 수 있는 깔끔한 데이터를 얻습니다.
맞춤 도구 불필요: 대부분의 AI 에이전트 설정은 접근하려는 각 API에 대해 맞춤 도구를 구축해야 합니다. gws를 사용하면 도구가 이미 구축되어 있습니다. 에이전트는 셸 명령을 실행하는 방법만 알면 됩니다.
100개 이상의 사전 구축된 에이전트 기술: 저장소에는 100개 이상의 SKILL.md 파일이 포함되어 있습니다. 지원되는 모든 API에 대한 파일, 일반적인 워크플로우를 위한 상위 수준 도우미, 그리고 Gmail, Drive, Docs, Calendar, Sheets를 위한 50가지 선별된 레시피가 있습니다.
네이티브 OpenClaw 지원: Google은 README에 OpenClaw 설정 지침을 직접 포함했습니다. 이것은 커뮤니티 해킹이나 임시방편이 아닙니다. 내장된 최고 수준의 지원입니다.
MCP 서버 내장: gws에는 Google Workspace API를 구조화된 도구로 노출하는 Model Context Protocol 서버가 포함되어 있습니다. 모든 MCP 호환 클라이언트(Claude Desktop, Gemini CLI, VS Code)는 이러한 도구를 직접 호출할 수 있습니다.
에이전트 경제 인프라
대부분의 사람들이 깨닫는 것보다 빠르게 에이전트 인프라가 부상하고 있습니다. gws와 같은 도구는 자율 워크플로우를 구동할 배관을 나타냅니다. 모든 SaaS 플랫폼에 대한 맞춤 통합을 구축하는 대신, 에이전트는 일관된 출력 형식을 가진 표준화된 CLI에 의존할 수 있습니다.
이는 진입 장벽을 낮추기 때문에 중요합니다. Workspace를 위한 AI 자동화를 구축하기 위해 엔지니어 팀이 필요하지 않습니다. npm과 5분이면 충분합니다.
gws 작동 방식: 아키텍처
gws는 이해할 가치가 있는 두 단계 구문 분석 전략을 사용합니다.
1단계: 서비스 식별
`gws drive files list`를 실행하면 CLI는 첫 번째 인자(`drive`)를 읽어 서비스를 식별합니다.
2단계: 동적 명령 구축
CLI는 Google에서 서비스의 Discovery Document를 가져옵니다(24시간 캐시됨). 문서의 리소스와 메서드로부터 clap::Command 트리를 구축합니다. 여기서 마법이 일어납니다. 전체 명령 표면이 Google 자체 API 사양으로부터 생성됩니다.
3단계: 요청 실행
CLI는 나머지 인자를 다시 구문 분석하고, 구성된 자격 증명을 사용하여 인증하며, HTTP 요청을 구축하고 실행합니다.
모든 출력(성공 응답, 오류, 다운로드 메타데이터)은 구조화된 JSON입니다.
┌─────────────────────────────────────────────────────────┐
│ argv[1] = "drive" │
│ ↓ │
│ Fetch Discovery Document (cached 24h) │
│ ↓ │
│ Build clap::Command tree from resources & methods │
│ ↓ │
│ Re-parse remaining arguments │
│ ↓ │
│ Authenticate → Build HTTP Request → Execute │
│ ↓ │
│ Output: Structured JSON │
└─────────────────────────────────────────────────────────┘
이 아키텍처는 gws가 단일 명령을 하드코딩하지 않고도 모든 Google Workspace API를 지원할 수 있음을 의미합니다. Discovery Document는 신뢰할 수 있는 출처이며, gws는 매번 실시간으로 이를 읽습니다.
OpenClaw 통합: 단계별 가이드
OpenClaw는 WhatsApp, Telegram, Discord와 같은 메시징 앱에 연결되는 자체 호스팅 AI 에이전트 프레임워크입니다. gws를 OpenClaw와 통합하면 텍스트 메시지를 통해 전체 Google Workspace를 관리할 수 있는 AI 비서가 생깁니다.
Google은 README에 OpenClaw 설정 지침을 문자 그대로 포함했습니다. 시작하는 방법은 다음과 같습니다.
옵션 1: 모든 스킬 심볼릭 링크 (개발용 권장)
# Clone the repo
git clone https://github.com/googleworkspace/cli.git
cd cli
# Symlink all skills into your OpenClaw skills directory
ln -s $(pwd)/skills/gws-* ~/.openclaw/skills/
이렇게 하면 모든 것이 저장소와 동기화됩니다. Google이 스킬을 업데이트하면 자동으로 업데이트를 받게 됩니다.
옵션 2: 특정 스킬 복사
# Only grab what you need
cp -r skills/gws-drive skills/gws-gmail ~/.openclaw/skills/
옵션 3: Skills CLI 사용
# Install all skills at once
npx skills add https://github.com/googleworkspace/cli
# Or pick individual skills
npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-drive
npx skills add https://github.com/googleworkspace/cli/tree/main/skills/gws-gmail
gws-shared 스킬
gws-shared 스킬은 특히 스마트합니다. gws가 PATH에 없는 경우 npm을 통해 CLI를 자동 설치하는 설치 블록을 포함합니다. OpenClaw 에이전트는 자체 부트스트랩이 가능합니다. 도구를 확인하고, 필요한 경우 설치하며, 작동을 시작합니다. 수동 설정이 필요 없습니다.
WhatsApp을 통한 gws 사용
통합되면 다음과 같은 메시지를 보낼 수 있습니다:
"Check my calendar for today's meetings"
"Find unread emails from my boss"
"Create a new spreadsheet called Q2 Budget"
"Upload this PDF to the Projects folder"
OpenClaw는 메시지를 수신하고, 실행할 gws 명령을 결정하고, 실행한 다음 결과를 다시 보냅니다. 이 모든 것이 WhatsApp을 통해 이루어집니다.
100개 이상의 에이전트 스킬 상세 분석
저장소에는 4가지 범주로 구성된 100개 이상의 SKILL.md 파일이 포함되어 있습니다. SKILL.md 형식에 익숙하지 않다면, 이는 AI 에이전트에게 구조화되고 구성 가능한 기능을 제공하기 위한 새로운 표준입니다. 스킬을 앱처럼 생각하되, 에이전트 지식과 도구 접근을 위한 것으로 생각하십시오.
서비스 스킬 (25개 이상)
각 Google Workspace API당 하나의 스킬입니다. 이것이 여러분의 구성 요소입니다:
| 스킬 | 목적 |
|---|---|
| gws-drive | 파일, 폴더 및 공유 드라이브 관리 |
| gws-gmail | 이메일 보내기, 읽기 및 관리 |
| gws-calendar | 캘린더 및 이벤트 관리 |
| gws-sheets | 스프레드시트 읽기 및 쓰기 |
| gws-docs | Google Docs 읽기 및 쓰기 |
| gws-slides | 프레젠테이션 |
| gws-tasks | 작업 목록 |
| gws-chat | Google Chat 공간 및 메시지 |
| gws-people | 연락처 및 프로필 |
| gws-admin | 사용자, 그룹 및 기기 관리 |
| gws-classroom | 수업, 명단 및 학습 자료 |
| gws-forms | Google Forms |
| gws-keep | Google Keep 노트 |
| gws-meet | 회의 관리 |
| gws-vault | eDiscovery |
| gws-apps-script | Apps Script 프로젝트 관리 |
추가 스킬에는 Cloud Identity, Alert Center, 그룹 설정, 라이선싱, 리셀러 및 안전 필터링을 위한 Model Armor가 포함됩니다.
페르소나 스킬 (10가지 사전 구축된 에이전트 역할)
Google은 완전한 에이전트 역할을 정의하는 10가지 즉시 사용 가능한 페르소나 번들을 만들었습니다:
| 페르소나 | 책임 |
|---|---|
| 비서 | 일정, 받은 편지함 및 커뮤니케이션 관리 |
| 프로젝트 관리자 | 프로젝트 조정, 작업 추적, 회의 일정 관리 |
| HR 코디네이터 | 온보딩, 공지, 직원 커뮤니케이션 처리 |
| 영업 운영 | 판매 워크플로우 관리, 거래 추적, 통화 일정 관리 |
| IT 관리자 | 사용자 관리, 보안 모니터링, Workspace 구성 |
| 콘텐츠 제작자 | 콘텐츠 생성, 정리 및 배포 |
| 고객 지원 | 티켓 관리, 문제 대응, 에스컬레이션 처리 |
| 이벤트 코디네이터 | 이벤트 계획, 초대 관리, 물류 처리 |
| 팀 리더 | 스탠드업 진행, 작업 조정, 팀 커뮤니케이션 관리 |
| 연구원 | 연구 정리, 참고 자료 관리, 협업 처리 |
각 페르소나는 해당 특정 역할에 맞는 서비스 스킬, 도우미 명령 및 워크플로우 패턴을 함께 묶습니다. 에이전트에게 필요한 Gmail + Calendar + Drive + Sheets 스킬의 조합을 알아낼 필요가 없습니다. 페르소나를 부여하기만 하면 에이전트가 무엇을 해야 할지 알게 됩니다.
도우미 스킬
다음은 가장 일반적인 작업을 위한 단축 명령입니다:
- 빠른 파일 업로드를 위한 gws-drive-upload
- 이메일 전송을 위한 gws-gmail-send
- 에이전트에 도달하기 전에 프롬프트를 정리하기 위한 gws-modelarmor-sanitize-prompt
레시피 스킬 (50가지 선별된 워크플로우)
실제 명령이 내장된 다단계 작업 시퀀스입니다. 예시는 다음과 같습니다:
- 외부 공유 Drive 파일 감사
- Sheets 데이터에서 개인화된 이메일 보내기
- Calendar 이벤트에서 회의 안건 생성
- 여러 소스에서 주간 상태 보고서 생성
이것들은 수많은 프롬프트 엔지니어링 시간을 절약해주는 '복사하여 붙여넣기 후 실행' 워크플로우입니다.
실제 자동화 워크플로우
다음은 gws와 OpenClaw로 자동화할 수 있는 구체적인 예시입니다.
Gmail 자동화
# 특정 발신자의 읽지 않은 이메일 검색
gws gmail users.messages list \
--params '{"userId": "me", "q": "from:boss@company.com is:unread"}'
# 특정 이메일 읽기
gws gmail users.messages get --params '{"userId": "me", "id": "MSG_ID"}'
# 이메일 보내기 (도우미가 모든 인코딩 처리)
gws gmail +send --to alice@company.com --subject 'Q2 Report Ready' \
--body 'Hey Alice, the Q2 report is ready for review.'
# 읽지 않은 받은 편지함 분류 (에이전트 친화적 요약)
gws gmail +triage --max 5 --query 'from:boss'
캘린더 관리
# 오늘 캘린더 확인
gws calendar +agenda
# 참석자와 함께 회의 생성
gws calendar +insert --summary 'Weekly Standup' \
--start '2026-03-10T09:00:00-07:00' \
--end '2026-03-10T09:30:00-07:00'
# 모든 세부 정보가 포함된 반복 이벤트 생성
gws calendar events insert \
--params '{"calendarId": "primary"}' \
--json '{
"summary": "Weekly Standup",
"start": {"dateTime": "2026-03-10T09:00:00", "timeZone": "America/Vancouver"},
"end": {"dateTime": "2026-03-10T09:30:00", "timeZone": "America/Vancouver"},
"recurrence": ["RRULE:FREQ=WEEKLY;BYDAY=MO"],
"attendees": [{"email": "team@company.com"}]
}'
# 이벤트를 다시 예약하고 참석자에게 알림
gws calendar events patch \
--params '{"calendarId": "primary", "eventId": "EVENT_ID", "sendUpdates": "all"}' \
--json '{
"start": {"dateTime": "2026-03-10T14:00:00", "timeZone": "America/Vancouver"},
"end": {"dateTime": "2026-03-10T15:00:00", "timeZone": "America/Vancouver"}
}'
Drive 파일 관리
# 최근 파일 10개 나열
gws drive files list --params '{"pageSize": 10}'
# 특정 폴더에 파일 업로드
gws drive +upload --file ./report.pdf --parent FOLDER_ID
# 새 프로젝트 폴더 생성
gws drive files create \
--json '{"name": "Q2 Project", "mimeType": "application/vnd.google-apps.folder"}'
# 파일 다운로드
gws drive files get \
--params '{"fileId": "FILE_ID", "alt": "media"}' -o report.pdf
# Google Doc을 PDF로 내보내기
gws drive files export \
--params '{"fileId": "FILE_ID", "mimeType": "application/pdf"}' -o document.pdf
# 동료와 폴더 공유
gws drive permissions create \
--params '{"fileId": "FOLDER_ID"}' \
--json '{"role": "writer", "type": "user", "emailAddress": "colleague@company.com"}'
Sheets 작업
# 특정 범위에서 데이터 읽기
gws sheets +read --spreadsheet-id SHEET_ID --range 'Contacts!A2:C'
# 새 행 데이터 추가
gws sheets +append --spreadsheet-id SHEET_ID --range 'Sheet1' \
--values '["2026-03-05", "Marketing", "Ad spend", "1500"]'
# 새로운 스프레드시트 생성
gws drive files create \
--json '{"name": "Expense Tracker 2026", "mimeType": "application/vnd.google-apps.spreadsheet"}'
Docs 및 콘텐츠 생성
# 새 문서 생성
gws docs documents create --json '{"title": "Meeting Notes - March 2026"}'
# 기존 문서에 콘텐츠 작성
gws docs +write --document-id DOC_ID \
--text '## Project: Q2 Launch\n\n### Objective\nLaunch the new feature by end of Q2.'
Chat, Meet, Forms 등
# Google Chat에서 팀 알림 보내기
gws chat +send --space spaces/TEAM_SPACE \
--text 'Important: Please check your email for the updated policy.'
# Google Meet 회의실 생성
gws meet spaces create --json '{"config": {"accessType": "OPEN"}}'
# 피드백 양식 생성
gws forms forms create \
--json '{"info": {"title": "Event Feedback", "documentTitle": "Event Feedback Form"}}'
# 프레젠테이션 생성
gws slides presentations create --json '{"title": "Quarterly Review Q2"}'
패턴을 주목하십시오. 모든 작업은 한 줄입니다. `+` 도우미 명령(예: +send, +upload, +agenda, +triage, +read, +append, +write)은 일반적으로 10줄의 상용구 코드가 필요한 모든 복잡한 인코딩 및 서식을 처리합니다. 에이전트는 RFC 2822 이메일 형식이나 base64 인코딩에 대해 알 필요가 없습니다. 단지 무엇을 하고 싶은지 말하면 gws가 나머지를 처리합니다.
보안 및 Model Armor
여기에 충분한 관심을 받지 못하는 것이 있습니다. 이 저장소에는 응답 정제를 위한 Google Cloud Model Armor와의 통합이 포함되어 있습니다.
Model Armor란 무엇인가요?
에이전트가 Gmail 또는 Drive에서 데이터를 읽을 때, 해당 데이터는 프롬프트 주입 공격을 포함할 수 있습니다. 누군가 에이전트의 동작을 조작하도록 특별히 고안된 이메일을 작성할 수 있습니다. Model Armor는 API 응답이 에이전트에 도달하기 전에 스캔하여 잠재적으로 악의적인 콘텐츠를 필터링합니다.
gws gmail users messages get --params '...' \
--sanitize "projects/P/locations/L/templates/T"
정제 모드
| 모드 | 동작 |
|---|---|
| 경고 | 의심스러운 콘텐츠에 플래그를 지정하지만 여전히 반환합니다. |
| 차단 | 잠재적으로 악의적인 콘텐츠를 완전히 제거합니다. |
이것이 중요한 이유
Cisco의 AI 보안 팀은 ClawHub의 31,000개 이상의 스킬 중 26%에 취약점이 있음을 발견했습니다. SecurityScorecard는 노출된 OpenClaw 인스턴스의 63%가 잘못 구성되었다고 보고했습니다. 에이전트 보안은 이론적인 문제가 아닙니다. 바로 지금 일어나고 있는 일입니다.
데이터 파이프라인에 안전 필터링이 내장되어 있다는 것은 Google의 현명한 조치입니다.
보안을 위한 환경 변수
# 기본 Model Armor 템플릿
export GOOGLE_WORKSPACE_CLI_SANITIZE_TEMPLATE="projects/P/locations/L/templates/T"
# 정제 모드 (경고 또는 차단)
export GOOGLE_WORKSPACE_CLI_SANITIZE_MODE="block"
gws 대 대안
gws를 고려할 수 있는 다른 접근 방식과 비교해 봅시다.
gws 대 gcloud CLI
| 기능 | gws | gcloud CLI |
|---|---|---|
| 범위 | Google Workspace API | 모든 Google Cloud 서비스 |
| 에이전트 스킬 | 100개 이상 사전 구축 | 없음 |
| OpenClaw 지원 | 네이티브 | 수동 설정 |
| 출력 형식 | 구조화된 JSON | 가변 |
| Workspace 전용 | 예 | 부분적 |
인프라 관리에는 gcloud를 사용하십시오. Workspace 자동화에는 gws를 사용하십시오.
gws 대 Google Apps Script
| 기능 | gws | Apps Script |
|---|---|---|
| 실행 | 로컬 CLI / AI 에이전트 | 클라우드 기반 |
| 언어 | 셸 명령 | JavaScript |
| AI 통합 | 내장 | 수동 |
| 인증 | OAuth / 서비스 계정 | OAuth |
| 사용 사례 | 자동화 / 에이전트 | Workspace 내 자동화 |
Apps Script는 Google Workspace 내 워크플로우 자동화에 탁월합니다. gws는 외부 도구와 AI 에이전트에게 Workspace 접근을 제공하는 데 탁월합니다.
gws 대 서드파티 도구 (Zapier, Make)
| 기능 | gws | Zapier/Make |
|---|---|---|
| 비용 | 무료 | 월 $20-500 |
| 사용자 지정 | 완전 제어 | 플랫폼에 제한됨 |
| 호출 제한 | Google API 제한만 적용 | 플랫폼 제한 |
| 데이터 프라이버시 | 로컬 실행 | 서드파티 서버 |
| 학습 곡선 | 기술적 | 로우코드 |
서드파티 도구는 비기술 사용자에게 적합합니다. gws는 개발자와 AI 에이전트 설정에 적합합니다.
시작하기 가이드
이것을 시도해볼 준비가 되셨습니까? 작동하는 설정을 위한 가장 빠른 경로는 다음과 같습니다.
사전 요구 사항
- Node.js 18+ (npm 설치용)
- Google Cloud 프로젝트 (OAuth 자격 증명용)
- Google Workspace에 접근할 수 있는 Google 계정
- gcloud CLI 설치 (선택 사항이지만 빠른 설정을 위해 권장)
1단계: gws 설치
npm install -g @googleworkspace/cli
npm 패키지는 여러분의 OS 및 아키텍처에 맞는 사전 빌드된 네이티브 바이너리를 번들로 제공합니다. Rust 툴체인은 필요하지 않습니다.
2단계: 인증 설정
gws auth setup
이것은 Google Cloud 프로젝트 구성을 안내합니다. Cloud 프로젝트를 생성하고, API를 활성화하며, 로그인합니다.
gcloud가 설치되어 있지 않으면 Google Cloud Console을 통해 OAuth를 수동으로 설정할 수 있습니다.
3단계: 로그인
gws auth login
이것은 OAuth 범위 선택 및 로그인을 위한 브라우저를 엽니다.
4단계: 설정 테스트
gws drive files list --params '{"pageSize": 5}'
최근 파일이 포함된 JSON 응답을 볼 수 있을 것입니다.
5단계: OpenClaw와 통합
# Clone the repo
git clone https://github.com/googleworkspace/cli.git
cd cli
# Symlink all skills
ln -s $(pwd)/skills/gws-* ~/.openclaw/skills/
6단계: 메시징을 통해 사용 시작
구성된 OpenClaw 메시징 플랫폼을 통해 메시지를 보내십시오:
"List my 5 most recent Drive files"
OpenClaw는 적절한 gws 명령을 실행하고 결과를 다시 보낼 것입니다.
일반적인 문제 해결
로그인 중 "액세스 차단됨" 또는 403 오류
귀하의 OAuth 앱이 테스트 모드이며 귀하의 계정이 테스트 사용자로 등록되지 않았습니다.
해결 방법: GCP 프로젝트에서 OAuth 동의 화면을 열고, 테스트 사용자(Test users)로 이동하여 Google 계정 이메일을 추가한 다음, `gws auth login`을 다시 시도하십시오.
"Google에서 이 앱을 확인하지 않았습니다"
앱이 테스트 모드일 때 예상되는 메시지입니다. 고급(Advanced)을 클릭한 다음, " (안전하지 않음)으로 이동"을 클릭하여 진행하십시오. 개인 용도로는 안전합니다.
너무 많은 범위 오류
확인되지 않은(테스트 모드) 앱은 약 25개의 OAuth 범위로 제한됩니다. 권장 범위 프리셋에는 많은 범위가 포함되어 이 한도를 초과할 수 있습니다.
해결 방법: 필요한 범위만 선택하십시오:
gws auth login --scopes drive,gmail,calendar
API가 활성화되지 않음
GCP 프로젝트에 필요한 Google API가 활성화되지 않은 경우, `accessNotConfigured` 오류와 함께 403 오류가 표시됩니다.
gws는 API를 활성화하는 링크가 포함된 실행 가능한 힌트를 출력합니다. 링크를 클릭하고, 활성화한 다음, 약 10초를 기다린 후 다시 시도하십시오.
결론
Google Workspace CLI는 AI 에이전트 생태계에 중요한 의미를 가집니다. 단순히 또 다른 CLI 래퍼가 아닙니다. npm이 설치된 누구에게나 AI 자동화를 접근 가능하게 만드는 인프라입니다.
아키텍처는 견고합니다. 스킬 적용 범위는 인상적입니다. Google이 첫날부터 OpenClaw 호환성을 구축했다는 사실은 에이전트 생태계가 어디로 향하고 있다고 생각하는지 보여줍니다.
OpenClaw, Claude Code 또는 다른 에이전트 플랫폼을 기반으로 구축하는 개발자에게 gws는 툴킷에 포함하고 싶은 도구 중 하나입니다. Google Workspace API의 복잡성을 처리하여 에이전트가 중요한 것, 즉 작업을 완료하는 데 집중할 수 있도록 합니다.
에이전트 경제는 그 인프라를 구축하고 있습니다. 그리고 대부분의 사람들이 깨닫는 것보다 빠르게 진행되고 있습니다.
자주 묻는 질문
Q: gws는 무료로 사용할 수 있나요?
A: 예, gws는 Apache-2.0 라이선스 하에 오픈 소스입니다. 무료 할당량을 초과하는 경우에만 Google API 사용료를 지불합니다.
Q: Google Workspace 계정이 필요한가요?
A: 대부분의 기능에는 일반 Google 계정으로 충분합니다. 일부 Admin API는 Workspace 구독이 필요합니다.
Q: OpenClaw 없이 gws를 사용할 수 있나요?
A: 물론입니다. gws는 독립형 CLI 도구로 작동합니다. OpenClaw 통합은 메시징 기반 접근을 위한 선택 사항입니다.
Q: gws를 어떻게 업데이트하나요?
A: `npm update -g @googleworkspace/cli`를 실행하여 최신 버전을 얻을 수 있습니다. CLI는 런타임에 Google의 Discovery Service를 읽으므로 항상 최신 API에 접근할 수 있습니다.
Q: gws로 제 데이터가 안전한가요?
A: gws는 AES-256-GCM을 사용하여 OS 키링에 있는 키로 자격 증명을 암호화하여 저장합니다. Model Armor 통합은 에이전트 워크플로우에 추가 보안을 제공합니다.
Q: CI/CD 파이프라인에서 gws를 사용할 수 있나요?
A: 예. `gws auth export --unmasked > credentials.json`으로 자격 증명을 내보내고 CI 환경에서 `GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE`을 설정하십시오.
Q: gws와 Google APIs Explorer의 차이점은 무엇인가요?
A: gws는 자동화 및 AI 에이전트 통합을 위해 설계된 CLI 도구입니다. APIs Explorer는 웹 기반 테스트 도구입니다. gws는 구조화된 JSON을 출력하고 스크립팅을 지원합니다.
Q: gws는 서비스 계정과 함께 작동하나요?
A: 예. `GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE`을 서비스 계정 JSON 키 파일로 설정하십시오. 대화형 로그인이 필요하지 않습니다.
Q: gws에 기여할 수 있나요?
A: 예, 이 프로젝트는 GitHub에서 오픈 소스입니다. 저장소 관리자의 정책에 따라 비협력자의 풀 리퀘스트는 일시적으로 비활성화되어 있습니다.
Q: gws는 어떤 플랫폼을 지원하나요?
A: gws는 macOS, Linux, Windows용 사전 빌드된 바이너리를 제공합니다. npm 패키지는 네이티브 바이너리 설치를 자동으로 처리합니다.
