HINDI TUMITIGIL ANG MUNDO.RSS
BIG CHANGE.

Markdown edition

AI-translated from English; not yet reviewed by a fluent editor.

# Ikonekta ang Claude Code sa Google Workspace gamit ang limang pagsusuri sa pagbasa

> Dokumentadong pag-setup upang suriin ang Google Workspace CLI account ng Claude Code, mga pahintulot sa OAuth, at mga hiling ng pahintulot gamit ang limitadong pagbasa sa Drive, Sheets, Docs at Gmail.

By BIG CHANGE Editorial

Published: 2026-10-20T09:34:40.461Z
Updated: 2026-10-20T09:34:40.461Z
Canonical: https://bigchange.ai/blog/claude-code-google-workspace-cli-read-checks

![Conceptual charcoal illustration of one person studying abstract command lines on a desktop monitor, with a plain folder, grid sheet, document and sealed envelope on the table.](https://bigchange.ai/api/media/file/gws-claude-read-check-workstation-hero-v1.png)
AI-generated conceptual illustration by BIG CHANGE.

Maaaring magpatakbo ang Claude Code ng mga command ng Google Workspace CLI (`gws`) mula sa lokal na shell, gamit ang Google account na naka-authenticate sa `gws`. Maaaring suriin ng awtorisadong may-ari ng account ang koneksiyon gamit ang tig-isang hindi sensitibong rekord sa Drive, Sheets, Docs at Gmail. Kumpirmahin muna ang account at mga pahintulot. Sinusunod ng gabay ang dokumentadong interface ng CLI repository na sinuri noong 20 Oktubre 2026. Hindi nag-install ang BIG CHANGE ng alinman sa dalawang tool o nag-access ng account.

## Ang malaking pagbabago

- **Ano ang nagbago:** Inilalantad ng kasalukuyang `gws` CLI ang mga Google Workspace API method bilang shell command na kayang patakbuhin ng Claude Code. Maaaring magbigay ng daan sa maraming serbisyo sa trabaho ang isang authenticated account, ayon sa aktuwal nitong pahintulot at sa shell permissions ng agent.
- **Bakit ito mahalaga:** Ang koneksiyong nagpapahintulot sa agent na tingnan ang napiling file o mensahe ay maaari ring umabot sa ibang datos na saklaw ng OAuth scopes nito. Maaaring ihambing ng may-ari ang maliliit at kilalang resulta sa terminal at Claude Code bago magpasiyang magtalaga ng mas maraming gawain.
- **Ano ang dapat bantayan:** Suriin ang mga command na binubuo ng naka-install na CLI at ang aktuwal na umiiral na permission rules ng session tuwing magbabago ang setup. Wala pa sa bersiyong 1.0 ang CLI; hindi pinapaliit ng limitadong halimbawang query o field mask ang pahintulot sa buong account.

## Bago kumonekta

Gumamit ng nakalaan at aprubadong Google test account na walang sensitibong nilalaman, at Cloud project kung saan maaari kang mag-configure ng OAuth. Itanong sa administrator kung pinapayagan ang apat na API at mga hinihinging pahintulot. Maghanda ng umiiral na Drive file na may natatanging pangalan, spreadsheet na may kilalang halaga sa maliit na range, maikling plain-text Google Doc na may isang tab, at hindi sensitibong mensahe sa Gmail. Para sa Gmail, kunin ang RFC `Message-ID` nito mula sa **Show original**. Ihahambing mo ang mga orihinal na ito sa resulta ng CLI. Walang nililikha o ipinapadala ang mga pagsusuring ito.

I-install ang Claude Code sa computer na kontrolado mo. I-install ang `gws` mula sa [release ng repository para sa iyong OS](https://github.com/googleworkspace/cli/releases) o, kung may Node.js 18 o mas bago, gamitin ang dokumentadong command:

```bash
npm install -g @googleworkspace/cli
gws --version
gws --help
gws auth login --help
```

Pribadong itala ang naka-install na bersiyon ng CLI at Claude Code. Wala pa sa bersiyong 1.0 ang CLI, at binubuo ang mga command nito mula sa mga API discovery document ng Google. Suriin ang naka-install na help at mga method schema sa ibaba bago patakbuhin ang mga halimbawa.

## 1. Mag-configure ng limitadong OAuth login

Sa aprubadong Cloud project, paganahin ang mga API ng Drive, Sheets, Docs at Gmail. I-configure ang OAuth audience at gumawa ng **Desktop app** client. Kung External ang app at nasa testing, idagdag ang napiling account bilang test user. I-save ang na-download na client JSON sa dokumentadong lokasyong `~/.config/gws/client_secret.json` o gumamit ng hiwalay na directory na pinili sa pamamagitan ng `GOOGLE_WORKSPACE_CLI_CONFIG_DIR`. Ilagay ito sa labas ng Claude project at gawing pribado sa may-ari ng account.

Bago mag-login, pribadong tingnan kung nakatakda ang `GOOGLE_WORKSPACE_CLI_TOKEN` o `GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE`, kasama ang pagtatakda sa pamamagitan ng `.env` file. Nauuna ang mga source na ito sa nakaimbak na OAuth credentials. Huwag ilabas ang mga halaga o hilingin sa Claude Code na basahin ang mga credential file. Gumamit ng malinis na environment at ng nilalayong client configuration.

Tahasang hilingin ang apat na saklaw na ito:

```bash
gws auth login --scopes 'https://www.googleapis.com/auth/drive.metadata.readonly,https://www.googleapis.com/auth/spreadsheets.readonly,https://www.googleapis.com/auth/documents.readonly,https://www.googleapis.com/auth/gmail.readonly'
gws auth status
```

Ikaw mismo ang pumili ng account at magbigay ng consent. Idinaragdag din ng nakapirming rebisyon ng CLI source ang mga identity scope na `openid`, `userinfo.email` at `userinfo.profile`. Pribadong ihambing ang consent at ang impormasyon ng `gws auth status` tungkol sa account, pahintulot at bisa ng token sa iyong nilayon; nananatiling hindi beripikado ang nawawalang status field. Huminto kung mali ang account o may natitirang hindi inaasahang mas malawak na pahintulot. Sinasala lang ng pagpili ng serbisyo sa login picker ang mga pagpipilian; hindi nito itinatakda ang apat na read-only scope na ito.

Mas malawak ang mga scope kaysa sa mga halimbawang request. Umaabot ang Drive metadata access sa metadata ng mga naa-access na file; saklaw ng read-only access sa Sheets at Docs ang mga naa-access na spreadsheet at dokumento; maaaring basahin ng Gmail read-only ang nilalaman ng mailbox. Nililimitahan ng mga pangalan, ID, range, query at field mask ang bawat response, hindi ang awtoridad ng token. Maaari ring umabot ang shell tool sa lokal na credentials, kaya hindi sapat na ihiwalay ang mga ito sa pamamagitan ng nakatagong path o tagubilin sa prompt.

## 2. Direktang patakbuhin ang limitadong mga pagbasa

Unang suriin ang bawat method gamit ang `gws schema drive.files.list` at ang katumbas na mga pangalan ng schema para sa iba pang method. Tingnan ang nabubuong `--help` kung naiiba ang parameter sa naka-install na bersiyon. Gumagamit ang mga command sa ibaba ng single-quote syntax ng Bash; sadyang baguhin ang paglalagay ng panipi para sa ibang shell. Palitan lang ang mga test identifier at pangalan. Magpatakbo ng isang command bawat pagkakataon at pribadong panatilihin ang aktuwal na response o error, nang walang token o sensitibong nilalaman.

Hanapin ang Drive file ayon sa pangalan. Ang JSON na `\u0027` ay nag-e-escape ng mga apostrophe sa Drive search expression habang pinananatili ang paglalagay ng panipi sa Bash:

```bash
gws drive files list --params '{"pageSize":5,"q":"trashed = false and name = \u0027GWS connection check\u0027","fields":"files(id,name,mimeType),nextPageToken,incompleteSearch"}'
```

Ihambing ang ID at pangalan sa file sa Drive. Ang kawalan ng tugma o ang `incompleteSearch` ay hindi patunay na naa-access ang nilalayong file.

Basahin ang mga kilalang cell gamit ang aktuwal na spreadsheet ID at pangalan ng tab:

```bash
gws sheets spreadsheets values get --params '{"spreadsheetId":"SPREADSHEET_ID","range":"Sheet1!A1:C3","fields":"range,majorDimension,values"}'
```

Ihambing ang mga ibinalik na halaga sa spreadsheet. Maaaring hindi isama ng Google ang mga bakanteng cell sa dulo, kaya maghanda ng mga kilalang halagang hindi blangko.

Basahin ang unang tab ng maikling test Doc:

```bash
gws docs documents get --params '{"documentId":"DOCUMENT_ID","includeTabsContent":false,"fields":"documentId,title,body(content(paragraph(elements(textRun(content)))))"}'
```

Itugma ang ID, pamagat at kilalang teksto. Hindi sinusuri ng limitadong response na ito ang ibang tab, mga komento o buong istruktura ng dokumento.

Para sa Gmail, hanapin ang umiiral na mensahe gamit ang RFC `Message-ID` nito, at gamitin ang ibinalik na Gmail ID upang humiling ng dalawang header:

```bash
gws gmail users messages list --params '{"userId":"me","maxResults":1,"q":"rfc822msgid:MESSAGE_ID_FROM_SHOW_ORIGINAL","fields":"messages(id,threadId),nextPageToken,resultSizeEstimate"}'
gws gmail users messages get --params '{"userId":"me","id":"GMAIL_MESSAGE_ID","format":"metadata","metadataHeaders":["Message-ID","Subject"],"fields":"id,threadId,payload(headers)"}'
```

Ihambing ang ibinalik na `Message-ID` at hindi sensitibong subject sa orihinal. Mga message ID ang ibinabalik ng unang tawag, hindi mga header. Header metadata ang hinihingi ng ikalawa, hindi ang katawan ng mensahe. Hindi magagawa ang ikalawang pagsusuri kung blangko ang unang response. Hindi pinapayagan ng mas makitid na Gmail metadata OAuth scope ang search query na gamit dito; pinapayagan ito ng tahasang Gmail read-only grant.

## 3. Ulitin sa Claude Code na may mga hiling ng pahintulot

Simulan ang Claude Code sa proyektong kontrolado mo, gamit ang parehong aprubadong account configuration. Sa `/permissions`, suriin ang umiiral na mode at shell rules. Gumamit ng Manual (tinatawag ding `default`) at ng **Ask** rule para sa aktuwal na shell tool; ayusin ang mas malawak na allow o bypass rule ayon sa patakaran ng organisasyon. Iwasan ang pangkalahatang pag-apruba para sa `gws *` o shell wrapper. Sa bawat mungkahing command, suriin ang buong command at aprubahan lamang ang limitadong pagbasa na talagang nilalayon.

Sabihin sa Claude Code sa karaniwang wika na imungkahi ang limang command sa itaas para sa parehong test target at patakbuhin ang mga ito nang paisa-isa pagkatapos lamang ng iyong pasiya sa pahintulot. Hilinging iulat ang output o error nang hindi nagbabasa ng credentials, nagpapalawak ng query o nagsusulat ng datos. Ihambing ang bawat resulta sa direktang resulta at sa orihinal na object. Maaaring ilarawan ng project instructions ang gawain, ngunit ang aktuwal na tool permissions at OAuth grants ang namamahala sa access.

| Serbisyo | Katibayan ng pagkumpleto sa parehong paraan |
| --- | --- |
| Drive | Parehong file ID at pangalan; kumpleto ang paghahanap. |
| Sheets | Inaasahang tab, range at kilalang mga halaga ng cell. |
| Docs | Inaasahang ID, pamagat at teksto sa unang tab. |
| Gmail | Nakikita sa listahan ang test message; tumutugma ang metadata get sa `Message-ID` at subject nito. |

Itala sa pribadong check sheet ang mga bersiyon, authenticated account, aktuwal na pahintulot, target ID, direktang resulta, resulta ng Claude at mga error. Magkakaiba ang nabigong request, matagumpay ngunit blangkong response at beripikadong object. Tapusin lamang kapag napatunayan ang apat na serbisyo sa parehong paraan.

## Kung mabigo ang isang pagsusuri

Ang error na **Access blocked** sa login ay maaaring mangahulugang wala ang test account sa listahan ng mga test user ng OAuth app. Sa API o scope error, kumpirmahin ang naka-enable na API, napiling account at aktuwal na pahintulot bago humiling ng aprubadong muling consent. Kung blangko ang listahan, suriin ang eksaktong target, query at account. Kung iba ang naka-install na help sa mga halimbawa, gamitin ang kasalukuyang method schema bago magpatuloy. Kung magmungkahi ang Claude Code ng command na magbabago ng datos o magpapalawak ng access, tanggihan ito sa permission prompt at bumalik sa limitadong pagbasa.

Magagamit ang CLI repository nang walang bayad na package. Maaaring may gastos ang account o Workspace plan, Cloud quotas at Claude Code plan o API usage. Maaaring iproseso ng provider na naka-configure sa Claude Code ang nakuhang nilalaman, kaya gumamit lang ng aprubado at hindi sensitibong test data. Sinasabi ng CLI na hindi ito opisyal na sinusuportahang produkto ng Google at nagbababala sa mga pagbabago bago ang 1.0. Hindi sinubukan ng BIG CHANGE ang performance o compatibility. Huminto bago ang anumang pagsulat, pagpapadala o pagbabago ng account. [Ang hiwalay na Google Workspace add-on ng Claude](https://bigchange.ai/blog/claude-google-workspace-add-on-edit-open-files) ay tumatalakay sa pag-edit ng mga bukas na file na may pag-apruba sa ibang paraan.

## Sources

- [README ng Google Workspace CLI](https://github.com/googleworkspace/cli/blob/a3768d0e82ad83cca2da97724e46bea4ff0e6dbd/README.md) — Opisyal na repository sa nakapirming rebisyon, sinuri noong 20 Oktubre 2026. Itinatatag ang installation, manual OAuth setup, dynamic commands, pag-una ng credentials, pagbabago-bago ng bersiyon at abiso ng kawalan ng opisyal na product support. Hindi nito pinatutunayan ang resulta ng pagpapatakbo ng BIG CHANGE.
- [Konteksto ng mga command ng Google Workspace CLI](https://github.com/googleworkspace/cli/blob/a3768d0e82ad83cca2da97724e46bea4ff0e6dbd/CONTEXT.md) — Opisyal na gabay sa nakapirming rebisyon para sa nested methods, --params, pagsusuri ng schema at limitadong pagpili ng fields; kailangang suriin ang aktuwal na naka-install na help.
- [Implementasyon ng authentication ng Google Workspace CLI](https://github.com/googleworkspace/cli/blob/a3768d0e82ad83cca2da97724e46bea4ff0e6dbd/crates/google-workspace-cli/src/auth_commands.rs) — Kinukumpirma ng nakapirming auth source ang custom --scopes, hiwalay na kilos ng service picker at idinagdag na identity scopes. Hindi ipinapakita ng pagsusuri sa source ang aktuwal na pahintulot ng isang mambabasa.
- [Gabay sa pag-enable ng mga Google Workspace API](https://developers.google.com/workspace/guides/enable-apis) — Mga tagubilin ng Google para paganahin ang mga API sa Cloud project; umiiral pa rin ang mga patakaran ng proyekto at administrator sa access.
- [Sanggunian sa Drive files.list](https://developers.google.com/workspace/drive/api/reference/rest/v3/files/list) — Kinukumpirma ang Drive q, pageSize at response fields na naglilimita sa metadata search. Hindi nililimitahan ng makitid na request ang OAuth authority.
- [Sanggunian sa Sheets spreadsheets.values.get](https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets.values/get) — Kinukumpirma ang pagbasa gamit ang spreadsheet ID at A1 range at ang anyo ng response; maaaring hindi isama ang mga bakanteng cell sa dulo.
- [Sanggunian sa Docs documents.get](https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/get) — Kinukumpirma ang pagkuha ng dokumento at limitasyon sa unang tab kapag false ang includeTabsContent. Para ang halimbawa sa plain-text test document na may isang tab.
- [Mga sanggunian sa Gmail messages.list at messages.get](https://developers.google.com/workspace/gmail/api/reference/rest/v1/users.messages/list) — Itinatatag ng list reference ang paghahanap gamit ang message ID at mga resultang ID lamang; hindi magagamit ang q sa gmail.metadata. Ang katambal na get reference ay https://developers.google.com/workspace/gmail/api/reference/rest/v1/users.messages/get at itinatatag nito ang metadataHeaders sa METADATA format.
- [Mga pahintulot ng Claude Code](https://code.claude.com/docs/en/permissions) — Kasalukuyang sanggunian ng Anthropic para sa Manual/default mode, Ask rules, aktuwal na tool permissions at mga shell approval prompt. Hindi nito pinatutunayan na may partikular na rule ang session ng mambabasa.