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
gwsCLI 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 o, kung may Node.js 18 o mas bago, gamitin ang dokumentadong command:
npm install -g @googleworkspace/cli
gws --version
gws --help
gws auth login --helpPribadong 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:
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 statusIkaw 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:
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:
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:
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:
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 |
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 ay tumatalakay sa pag-edit ng mga bukas na file na may pag-apruba sa ibang paraan.



