#Arreglar gog auth
1 messages · Page 1 of 1 (latest)
Krill?
Realizar verificaciones completas de Autenticacion de Google, para leer, escribir, mover, ordenar, borrar los archivos de las herramientas de Google. Gmail Task, Drive, Docs, Sheets y de las demas herramientas
Ya vi el problema base: en esta instancia gog ni siquiera está instalado, así que no puedo hacer una prueba real end-to-end desde aquí. Voy a verificar la ruta correcta y te dejo el checklist exacto para validar permisos reales sin inventar comandos.
Ya comprobé lo que sí podía desde aquí.
Hallazgo principal: en esta instancia gog no está instalado, así que no puedo ejecutar la batería real contra tu cuenta Google desde este hilo.
También confirmé que gog actual sí soporta Gmail, Tasks, Drive, Docs, Sheets y más.
Para validar leer, escribir, mover, ordenar/organizar y borrar, necesitas scopes de escritura, no --readonly.
1) Pásame esto primero
No pegues tu client_secret.json, solo la salida de estos comandos.
openclaw --version
which gog
gog --version
gog auth list --check
GOG_ACCOUNT="TU_CORREO@gmail.com" gog auth status
GOG_ACCOUNT="TU_CORREO@gmail.com" gog auth services
2) Si faltan permisos, reautoriza así
gog auth add TU_CORREO@gmail.com --services gmail,drive,docs,sheets,tasks --force-consent
3) Pruebas funcionales reales
Gmail
GOG_ACCOUNT="TU_CORREO@gmail.com" gog gmail labels list
GOG_ACCOUNT="TU_CORREO@gmail.com" gog gmail search 'newer_than:7d' --max 5
GOG_ACCOUNT="TU_CORREO@gmail.com" gog gmail drafts create --subject "gog auth test" --body "ok"
Tasks
GOG_ACCOUNT="TU_CORREO@gmail.com" gog tasks lists --max 20
GOG_ACCOUNT="TU_CORREO@gmail.com" gog tasks lists create "gog-auth-test"
GOG_ACCOUNT="TU_CORREO@gmail.com" gog tasks add <tasklistId> --title "test"
GOG_ACCOUNT="TU_CORREO@gmail.com" gog tasks done <tasklistId> <taskId>
GOG_ACCOUNT="TU_CORREO@gmail.com" gog tasks delete <tasklistId> <taskId>
Drive
echo "test" >/tmp/gog-auth-test.txt
GOG_ACCOUNT="TU_CORREO@gmail.com" gog drive mkdir "gog-auth-test"
GOG_ACCOUNT="TU_CORREO@gmail.com" gog drive upload /tmp/gog-auth-test.txt --parent <folderId>
GOG_ACCOUNT="TU_CORREO@gmail.com" gog drive rename <fileId> "gog-auth-test-renamed.txt"
GOG_ACCOUNT="TU_CORREO@gmail.com" gog drive move <fileId> --parent <destinationFolderId>
GOG_ACCOUNT="TU_CORREO@gmail.com" gog drive delete <fileId>
Docs
GOG_ACCOUNT="TU_CORREO@gmail.com" gog docs create "gog-auth-doc"
GOG_ACCOUNT="TU_CORREO@gmail.com" gog docs update <docId> --text "hola"
GOG_ACCOUNT="TU_CORREO@gmail.com" gog docs export <docId> --format txt --out /tmp/gog-auth-doc.txt
GOG_ACCOUNT="TU_CORREO@gmail.com" gog drive delete <docId>
Sheets
printf 'a,b\n1,2\n' >/tmp/gog-auth.csv
GOG_ACCOUNT="TU_CORREO@gmail.com" gog drive upload /tmp/gog-auth.csv --convert-to sheet
GOG_ACCOUNT="TU_CORREO@gmail.com" gog sheets update <spreadsheetId> 'Sheet1!A1:B2' --values-json '[["a","b"],["1","2"]]'
GOG_ACCOUNT="TU_CORREO@gmail.com" gog sheets append <spreadsheetId> 'Sheet1!A:B' --values-json '[["3","4"]]'
GOG_ACCOUNT="TU_CORREO@gmail.com" gog sheets clear <spreadsheetId> 'Sheet1!A1:B10'
GOG_ACCOUNT="TU_CORREO@gmail.com" gog drive delete <spreadsheetId>
4) Mapa rápido de scopes
- Gmail:
gmail - Tasks:
tasks - Drive:
drive - Docs:
drive+documents - Sheets:
drive+spreadsheets
Si pegas la salida de gog auth list --check y gog auth status, te digo exactamente qué permiso o API te falta.
Referencia general: https://docs.openclaw.ai/faq y https://gogcli.sh/
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ openclaw --version
which gog
gog --version
gog auth list --check
GOG_ACCOUNT="TU_CORREO@gmail.com" gog auth status
OpenClaw 2026.4.15 (041266a)
/home/alexifra/.local/bin/gog
v0.12.0 (c18c58c 2026-03-09T05:53:14Z)
read token for alexifra@gmail.com: read token: aes.KeyUnwrap(): integrity check failed.
config_path /home/alexifra/.config/gogcli/config.json
config_exists false
keyring_backend file
keyring_backend_source env
account TU_CORREO@gmail.com
client default
credentials_path /home/alexifra/.config/gogcli/credentials.json
credentials_exists true
auth_preferred oauth
service_account_configured false
Ya encontré el bloqueo real.
No es un problema de scopes de Google todavía.
Tu gog está bien instalado, pero el token local guardado está roto o no se puede descifrar:
read token for alexifra@gmail.com: read token: aes.KeyUnwrap(): integrity check failed.
Qué significa
Casi siempre es una de estas dos:
- estás forzando
keyring_backend=filecon una password distinta a la original, o - el archivo/token cifrado local quedó corrupto.
También vi esto:
keyring_backend file
keyring_backend_source env
O sea, el backend file viene de una variable de entorno, no de config.
Y otra cosita: en gog auth status usaste el placeholder TU_CORREO@gmail.com. Ahí pon tu correo real.
Paso 1, confirmar el backend real
Pega esto, pero redactando cualquier password:
( env | grep '^GOG_' || true ) | sed 's/=.*$/=<redacted>/'
gog auth keyring
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
Paso 2, arreglo más probable
Si sabes la password vieja del keyring file
Usa la misma y prueba otra vez:
export GOG_KEYRING_BACKEND=file
export GOG_KEYRING_PASSWORD='LA_MISMA_PASSWORD_DE_ANTES'
gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
Si no sabes la password, o sigue fallando
Entonces toca recrear solo la auth local de gog.
Primero intenta lo menos invasivo:
gog auth remove alexifra@gmail.com
Si eso falla también, haz backup del estado local de gog:
mv ~/.config/gogcli ~/.config/gogcli.bak.$(date +%Y%m%d-%H%M%S)
Luego vuelve a cargar credenciales y reautoriza:
gog auth credentials /ruta/a/tu_client_secret.json
gog auth add alexifra@gmail.com --services gmail,drive,docs,sheets,tasks --force-consent
Paso 3, verificación final
Cuando eso pase, corre:
gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
GOG_ACCOUNT="alexifra@gmail.com" gog gmail labels list
GOG_ACCOUNT="alexifra@gmail.com" gog tasks lists --max 10
GOG_ACCOUNT="alexifra@gmail.com" gog drive ls --max 10
Si eso funciona, ya seguimos con las pruebas de write/move/delete para Drive, Docs y Sheets.
Si quieres, pega ahora la salida de Paso 1 y te digo cuál de las dos rutas conviene.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ ( env | grep '^GOG_' || true ) | sed 's/=.*$/=<redacted>/'
gog auth keyring
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
GOG_ACCOUNT=<redacted>
GOG_KEYRING_BACKEND=<redacted>
GOG_KEYRING_PASSWORD=<redacted>
path /home/alexifra/.config/gogcli/config.json
keyring_backend file
source env
Hint: gog auth keyring <auto|keychain|file>
config_path /home/alexifra/.config/gogcli/config.json
config_exists false
keyring_backend file
keyring_backend_source env
account alexifra@gmail.com
client default
credentials_path /home/alexifra/.config/gogcli/credentials.json
credentials_exists true
auth_preferred oauth
service_account_configured false
Perfecto, ya quedó confirmado.
Diagnóstico
- OpenClaw y
gogestán bien. - El problema es local, en la auth guardada por
gog. - Estás usando:
GOG_KEYRING_BACKEND=fileGOG_KEYRING_PASSWORD=...
- Y el token viejo ya no coincide con esa clave o quedó corrupto.
O sea, no estamos fallando en Gmail/Drive todavía. Estamos fallando antes, al leer el refresh token local.
Siguiente paso, el arreglo bueno
Prueba esto primero, que es lo menos invasivo:
gog auth remove alexifra@gmail.com
gog auth add alexifra@gmail.com --services gmail,drive,docs,sheets,tasks --force-consent
gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
Si eso funciona, ya saliste del atasco.
Si gog auth remove falla
Entonces haz backup del estado local de gog y recrea la auth:
mv ~/.config/gogcli ~/.config/gogcli.bak.$(date +%Y%m%d-%H%M%S)
gog auth credentials /ruta/a/tu_client_secret.json
gog auth add alexifra@gmail.com --services gmail,drive,docs,sheets,tasks --force-consent
gog auth list --check
Qué espero ver cuando quede bien
gog auth list --check ya no debe mostrar:
aes.KeyUnwrap(): integrity check failed
Y luego sí hacemos la validación funcional:
GOG_ACCOUNT="alexifra@gmail.com" gog gmail labels list
GOG_ACCOUNT="alexifra@gmail.com" gog tasks lists --max 10
GOG_ACCOUNT="alexifra@gmail.com" gog drive ls --max 10
Mi recomendación
Ve por esta ruta:
gog auth remove alexifra@gmail.comgog auth add ... --force-consentgog auth list --check
Pégame la salida de esos 3 y te digo si ya pasamos a las pruebas de write / move / delete.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ gog auth remove alexifra@gmail.com
gog auth add alexifra@gmail.com --services gmail,drive,docs,sheets,tasks --force-consent
gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
Proceed to remove stored token for alexifra@gmail.com? [y/N]: y
deleted true
email alexifra@gmail.com
client default
Opening browser for authorization…
If the browser doesn't open, visit this URL:
https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=584041476396-ul70gmrsdqvjmjvk1dtl34dku0kdlvjp.apps.googleusercontent.com&include_granted_scopes=true&prompt=consent&redirect_uri=http%3A%2F%2F127.0.0.1%3A33539%2Foauth2%2Fcallback&response_type=code&scope=email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.modify+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.settings.basic+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.settings.sharing+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fspreadsheets+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Ftasks+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+openid&state=elVB8pJs69DX5IeM2q-Kg4kbaRO0hjMKirmphA2PLkU
Bien, eso ya pinta mucho mejor.
Lo importante:
- el token roto ya se eliminó (
deleted true) gogya está pidiendo los scopes correctos para lo que quieres:- Docs
- Drive
- Gmail
- Sheets
- Tasks
Ahora mismo estás en la parte normal del flujo OAuth. Solo falta terminar el consentimiento en el navegador.
Haz esto ahora
- Completa el login/consent en Google.
- Cuando termine, corre:
gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
GOG_ACCOUNT="alexifra@gmail.com" gog gmail labels list
GOG_ACCOUNT="alexifra@gmail.com" gog tasks lists --max 10
GOG_ACCOUNT="alexifra@gmail.com" gog drive ls --max 10
Si esos 5 pasan, la autenticación ya quedó bien y seguimos con la batería de:
- write
- move
- delete
- Docs / Sheets / Drive
Ojo importante
No vuelvas a pegar la URL OAuth completa en público. Lleva parámetros temporales del login.
Si puedes, edita ese mensaje y quítala.
Si el navegador no vuelve correctamente a la terminal, dímelo, porque en WSL a veces falla el callback local y ahí conviene usar --manual.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
GOG_ACCOUNT="alexifra@gmail.com" gog gmail labels list
GOG_ACCOUNT="alexifra@gmail.com" gog tasks lists --max 10
GOG_ACCOUNT="alexifra@gmail.com" gog drive ls --max 10
No tokens stored
config_path /home/alexifra/.config/gogcli/config.json
config_exists false
keyring_backend file
keyring_backend_source env
account alexifra@gmail.com
client default
credentials_path /home/alexifra/.config/gogcli/credentials.json
credentials_exists true
auth_preferred oauth
service_account_configured false
No auth for gmail alexifra@gmail.com.
OAuth (browser flow):
gog auth add alexifra@gmail.com --services gmail
Workspace service account (domain-wide delegation):
gog auth service-account set alexifra@gmail.com --key <service-account.json>
No auth for tasks alexifra@gmail.com.
OAuth (browser flow):
gog auth add alexifra@gmail.com --services tasks
Workspace service account (domain-wide delegation):
gog auth service-account set alexifra@gmail.com --key <service-account.json>
No auth for drive alexifra@gmail.com.
OAuth (browser flow):
gog auth add alexifra@gmail.com --services drive
Workspace service account (domain-wide delegation):
gog auth service-account set alexifra@gmail.com --key <service-account.json>
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$
Vale, ya está claro qué pasa ahora.
Diagnóstico
El token corrupto ya no es el problema.
Ahora el problema es otro:
No tokens stored
Eso significa que el flujo OAuth no terminó de guardar ningún token.
En tu caso, lo más probable es que el callback del navegador no esté volviendo bien a WSL.
config_exists false no importa aquí. Eso está bien.
Hazlo en modo manual
En vez del browser flow normal, usa esto:
gog auth add alexifra@gmail.com --services gmail,drive,docs,sheets,tasks --force-consent --manual
Qué tienes que hacer
gogte va a imprimir una URL.- Ábrela en tu navegador.
- Acepta el consentimiento.
- Cuando Google te redirija a una URL tipo
http://127.0.0.1:.../oauth2/callback?..., copia esa URL completa. - Pégala en la terminal, cuando
gogte la pida.
No la pegues aquí en Discord.
Luego verifica
Cuando termine, corre:
gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
GOG_ACCOUNT="alexifra@gmail.com" gog gmail labels list
GOG_ACCOUNT="alexifra@gmail.com" gog tasks lists --max 10
GOG_ACCOUNT="alexifra@gmail.com" gog drive ls --max 10
Si eso ya pasa, te doy la batería final para probar:
- crear
- escribir
- mover
- borrar
- Docs / Sheets / Drive
Si --manual también falla, te doy la variante --remote --step 1/2, pero normalmente con WSL --manual es la buena.
No lo movería fuera de aquí.
Para este caso, el siguiente paso sigue siendo --manual en gog auth add.
Si después de eso sigue fallando, entonces sí toca abrir issue en GitHub con la salida redactada, no llevarlo a otro Discord:
https://github.com/openclaw/openclaw/issues
Ale, prueba esto y pega solo la salida final, sin la URL OAuth completa:
gog auth add alexifra@gmail.com --services gmail,drive,docs,sheets,tasks --force-consent --manual
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ gog auth add alexifra@gmail.com --services gmail,drive,docs,sheets,tasks --force-consent --manual
Visit this URL to authorize:
https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=584041476396-ul70gmrsdqvjmjvk1dtl34dku0kdlvjp.apps.googleusercontent.com&include_granted_scopes=true&prompt=consent&redirect_uri=http%3A%2F%2F127.0.0.1%3A45653%2Foauth2%2Fcallback&response_type=code&scope=email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.modify+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.settings.basic+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.settings.sharing+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fspreadsheets+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Ftasks+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+openid&state=akDphM21XrgxJwU41A_5S9LtOpfMQaVd0yFdx2lv-rY
After authorizing, you'll be redirected to a loopback URL that won't load.
Copy the URL from your browser's address bar and paste it here.
Paste redirect URL (Enter or Ctrl-D):
Sí, eso es justo lo correcto 👍
Ahora no la pegues aquí.
La URL de retorno hay que pegarla en la terminal, en esta línea:
Paste redirect URL (Enter or Ctrl-D):
Pasos
- Abre la URL en el navegador.
- Acepta el consentimiento.
- Cuando termine en una URL
http://127.0.0.1:.../oauth2/callback?... - Copia esa URL completa desde la barra del navegador
- Pégala en la terminal, no en Discord
Luego corre:
gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
GOG_ACCOUNT="alexifra@gmail.com" gog gmail labels list
GOG_ACCOUNT="alexifra@gmail.com" gog tasks lists --max 10
GOG_ACCOUNT="alexifra@gmail.com" gog drive ls --max 10
Y me pegas solo esa salida final.
Si puedes, edita también este mensaje y quita la URL OAuth completa.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ gog auth add alexifra@gmail.com --services gmail,drive,docs,sheets,tasks --force-consent --manual
Visit this URL to authorize:
https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=584041476396-ul70gmrsdqvjmjvk1dtl34dku0kdlvjp.apps.googleusercontent.com&include_granted_scopes=true&prompt=consent&redirect_uri=http%3A%2F%2F127.0.0.1%3A45653%2Foauth2%2Fcallback&response_type=code&scope=email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.modify+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.settings.basic+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.settings.sharing+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fspreadsheets+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Ftasks+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+openid&state=akDphM21XrgxJwU41A_5S9LtOpfMQaVd0yFdx2lv-rY
After authorizing, you'll be redirected to a loopback URL that won't load.
Copy the URL from your browser's address bar and paste it here.
Ah, ya vi el fallo.
Pegaste la URL inicial de autorización, no la URL final de retorno.
Por eso gog dice:
no code found in URL
La que necesitas pegar en la terminal es la que, después de aceptar en Google, queda en la barra del navegador y se parece a esto:
http://127.0.0.1:45653/oauth2/callback?code=...&state=...
No la que empieza con:
https://accounts.google.com/o/oauth2/auth?...
Te recomiendo hacerlo así, más claro
Paso 1
gog auth add alexifra@gmail.com --services gmail,drive,docs,sheets,tasks --force-consent --remote --step 1
Eso te imprimirá la URL para abrir en el navegador.
Paso 2
Después de aceptar en Google, copia la URL final de la barra del navegador, la que empieza por http://127.0.0.1:.../oauth2/callback?...
Y ejecútala así:
gog auth add alexifra@gmail.com --services gmail,drive,docs,sheets,tasks --force-consent --remote --step 2 --auth-url 'PEGA_AQUI_LA_URL_CALLBACK_COMPLETA'
Luego verifica
gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
GOG_ACCOUNT="alexifra@gmail.com" gog gmail labels list
GOG_ACCOUNT="alexifra@gmail.com" gog tasks lists --max 10
GOG_ACCOUNT="alexifra@gmail.com" gog drive ls --max 10
Y de nuevo, no pegues aquí la URL completa del navegador, solo la salida final de esos checks.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ gog auth add alexifra@gmail.com --services gmail,drive,docs,sheets,tasks --force-consent --manual
Visit this URL to authorize:
https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=584041476396-ul70gmrsdqvjmjvk1dtl34dku0kdlvjp.apps.googleusercontent.com&include_granted_scopes=true&prompt=consent&redirect_uri=http%3A%2F%2F127.0.0.1%3A45653%2Foauth2%2Fcallback&response_type=code&scope=email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocuments+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.modify+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.settings.basic+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.settings.sharing+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fspreadsheets+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Ftasks+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+openid&state=akDphM21XrgxJwU41A_5S9LtOpfMQaVd0yFdx2lv-rY
After authorizing, you'll be redirected to a loopback URL that won't load.
Copy the URL from your browser's address bar and paste it here.
Paste redirect URL (Enter or Ctrl-D): http://127.0.0.1:45653/oauth2/callback?state=akDphM21XrgxJwU41A_5S9LtOpfMQaVd0yFdx2lv-rY&iss=https://accounts.google.com&code=4/0Aci98E-YDGbkCRnpbehFHjg5TYnjmgRwJPjGZvgzwAqd9bi2Xsb1z9ZDssUsuMdTcJ-SRQ&scope=email profile https://www.googleapis.com/auth/documents https://www.googleapis.com/auth/spreadsheets https://www.googleapis.com/auth/tasks https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email openid https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/forms.responses.readonly https://www.googleapis.com/auth/forms.body https://www.googleapis.com/auth/chat.users.readstate.readonly https://www.googleapis.com/auth/chat.spaces https://www.googleapis.com/auth/chat.messages https://www.googleapis.com/auth/chat.memberships https://www.googleapis.com/auth/directory.readonly https://www.googleapis.com/auth/classroom.courseworkmaterials https://www.googleapis.com/auth/classroom.topics https://www.googleapis.com/auth/classroom.announcements https://www.googleapis.com/auth/classroom.guardianlinks.students https://www.googleapis.com/auth/classroom.coursework.students https://www.googleapis.com/auth/classroom.coursework.me https://www.googleapis.com/auth/classroom.profile.emails https://www.googleapis.com/auth/classroom.profile.photos https://www.googleapis.com/auth/classroom.rosters https://www.googleapis.com/auth/classroom.courses https://www.googleapis.com/auth/contacts.other.readonly https://www.googleapis.com/auth/contacts https://www.googleapis.com/auth/script.processes https://www.googleapis.com/auth/script.deployments https://www.googleapis.com/auth/script.projects https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.settings.sharing https://www.googleapis.com/auth/gmail.settings.basic https://www.googleapis.com/auth/gmail.modify&authuser=0&prompt=consent
email alexifra@gmail.com
services docs,drive,gmail,sheets,tasks
client default
Sí, ahí ya quedó autenticado ✅
La parte importante es esta:
email alexifra@gmail.com
services docs,drive,gmail,sheets,tasks
client default
O sea, el alta de auth sí entró bien.
Antes que nada
Ese mensaje contiene un authorization code real.
Si puedes, edítalo o bórralo del hilo.
Verificación final de lectura
Corre esto primero:
gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
GOG_ACCOUNT="alexifra@gmail.com" gog gmail labels list
GOG_ACCOUNT="alexifra@gmail.com" gog tasks lists --max 10
GOG_ACCOUNT="alexifra@gmail.com" gog drive ls --max 10
Si eso pasa, la auth base ya está bien.
Pruebas seguras de escritura / borrado
Gmail, escritura segura
GOG_ACCOUNT="alexifra@gmail.com" gog gmail drafts create --subject "gog auth test" --body "ok"
Tasks, crear / completar / borrar
GOG_ACCOUNT="alexifra@gmail.com" gog tasks lists create "gog-auth-test"
GOG_ACCOUNT="alexifra@gmail.com" gog tasks add <tasklistId> --title "test"
GOG_ACCOUNT="alexifra@gmail.com" gog tasks done <tasklistId> <taskId>
GOG_ACCOUNT="alexifra@gmail.com" gog tasks delete <tasklistId> <taskId>
Drive, subir / renombrar / mover / borrar
echo "test" >/tmp/gog-auth.txt
GOG_ACCOUNT="alexifra@gmail.com" gog drive mkdir "gog-auth-test"
GOG_ACCOUNT="alexifra@gmail.com" gog drive upload /tmp/gog-auth.txt --parent <folderId>
GOG_ACCOUNT="alexifra@gmail.com" gog drive rename <fileId> "gog-auth-renamed.txt"
GOG_ACCOUNT="alexifra@gmail.com" gog drive move <fileId> --parent <destinationFolderId>
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete <fileId>
Docs, crear / leer / exportar / borrar
GOG_ACCOUNT="alexifra@gmail.com" gog docs create "gog-auth-doc"
GOG_ACCOUNT="alexifra@gmail.com" gog docs cat <docId>
GOG_ACCOUNT="alexifra@gmail.com" gog docs export <docId> --format txt --out /tmp/gog-auth-doc.txt
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete <docId>
Sheets, leer / escribir / append / clear
Usa un spreadsheet de prueba:
GOG_ACCOUNT="alexifra@gmail.com" gog sheets metadata <spreadsheetId>
GOG_ACCOUNT="alexifra@gmail.com" gog sheets update <spreadsheetId> 'Sheet1!A1:B2' --values-json '[["a","b"],["1","2"]]'
GOG_ACCOUNT="alexifra@gmail.com" gog sheets append <spreadsheetId> 'Sheet1!A:B' --values-json '[["3","4"]]'
GOG_ACCOUNT="alexifra@gmail.com" gog sheets clear <spreadsheetId> 'Sheet1!A1:B10'
Si quieres, pega ahora solo la salida de la parte de lectura y te digo si ya damos esto por bueno o si falta afinar algo.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ GOG_ACCOUNT="alexifra@gmail.com" gog gmail drafts create --subject "gog auth test" --body "ok"
draft_id r1276491520003207421
message_id 19dac98013c26f42
thread_id 19dac98013c26f42
Perfecto, eso ya confirma Gmail write ✅
Se creó el draft correctamente, así que:
- auth de Gmail funciona
- permisos de escritura de Gmail funcionan
Siguiente bloque, para cerrar el resto
Tasks
GOG_ACCOUNT="alexifra@gmail.com" gog tasks lists create "gog-auth-test"
GOG_ACCOUNT="alexifra@gmail.com" gog tasks lists --max 10
Drive
echo "test" >/tmp/gog-auth.txt
GOG_ACCOUNT="alexifra@gmail.com" gog drive mkdir "gog-auth-test"
GOG_ACCOUNT="alexifra@gmail.com" gog drive ls --max 10
Docs
GOG_ACCOUNT="alexifra@gmail.com" gog docs create "gog-auth-doc"
Sheets
Si ya tienes un spreadsheet de prueba, usa:
GOG_ACCOUNT="alexifra@gmail.com" gog sheets metadata <spreadsheetId>
Pega la salida de esos bloques y te digo si ya queda verificado Tasks + Drive + Docs + Sheets también.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ GOG_ACCOUNT="alexifra@gmail.com" gog tasks lists create "gog-auth-test"
GOG_ACCOUNT="alexifra@gmail.com" gog tasks lists --max 10
id dHBEYUctR3dRZDZWcEZ2cg
title gog-auth-test ID TITLE
MTM1NDA4NTU3MjU0NDM2NzYzNDM6MDow Ale Xifra varios
Zng5bUZ2OGZiNno2RXNkNQ Construtecnia 2026
bDRaRkpTcGZUMjF5aS04WQ Formacion IA Personal
YVR3ZGlaSkhCQVdIR0FiMw ormacion IA Personal
emhIYXBaQmZjSHZheGFpSg Tareas diarias y proyectos personales
VkV2bERONEJJZEJJVWE5bw Solarte Deco
UVAxS1Z5bURoOFpMZ0VqdA Proyectos AGENTE especialista en movilidad eléctrica y hybrida
RXljZUpQQjVLdUFVZWduUw Taipan
MUZPVmhtMEZ0UFNhV1B0ZQ Polar PY
ZHp1bUlJTThmT1Fiek5aUw RedNova
Buenísimo, Tasks create + list ya quedó confirmado ✅
Eso valida:
- auth de Tasks
- escritura en Tasks
- lectura en Tasks
Y pequeño apunte, por privacidad ya no hace falta pegar listas reales enteras, con el resultado corto basta.
Cierra Tasks del todo con add/delete
Usa el tasklist nuevo:
GOG_ACCOUNT="alexifra@gmail.com" gog tasks add dHBEYUctR3dRZDZWcEZ2cg --title "auth test task"
GOG_ACCOUNT="alexifra@gmail.com" gog tasks list dHBEYUctR3dRZDZWcEZ2cg --max 10
Luego, con el taskId que salga:
GOG_ACCOUNT="alexifra@gmail.com" gog tasks done dHBEYUctR3dRZDZWcEZ2cg <taskId>
GOG_ACCOUNT="alexifra@gmail.com" gog tasks delete dHBEYUctR3dRZDZWcEZ2cg <taskId>
Siguiente bloque: Drive + Docs
echo "test" >/tmp/gog-auth.txt
GOG_ACCOUNT="alexifra@gmail.com" gog drive mkdir "gog-auth-test"
GOG_ACCOUNT="alexifra@gmail.com" gog drive ls --max 10
GOG_ACCOUNT="alexifra@gmail.com" gog docs create "gog-auth-doc"
Sheets
Si tienes una hoja de prueba:
GOG_ACCOUNT="alexifra@gmail.com" gog sheets metadata <spreadsheetId>
Pega la salida de Tasks add/list y Drive/Docs, y con eso ya casi cerramos todo.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ GOG_ACCOUNT="alexifra@gmail.com" gog tasks add dHBEYUctR3dRZDZWcEZ2cg --title "auth test task"
GOG_ACCOUNT="alexifra@gmail.com" gog tasks list dHBEYUctR3dRZDZWcEZ2cg --max 10
id c1h0ZE5PY0tCU2lRdHhFMg
title auth test task
status needsAction
link https://tasks.google.com/task/sXtdNOcKBSiQtxE2?sa=6
ID TITLE STATUS DUE UPDATED
c1h0ZE5PY0tCU2lRdHhFMg auth test task needsAction 2026-04-20T20:37:42.102Z
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ GOG_ACCOUNT="alexifra@gmail.com" gog tasks done dHBEYUctR3dRZDZWcEZ2cg <taskId>
GOG_ACCOUNT="alexifra@gmail.com" gog tasks delete dHBEYUctR3dRZDZWcEZ2cg <taskId>
-bash: syntax error near unexpected token newline' -bash: syntax error near unexpected token newline'
Sí, Tasks ya quedó casi cerrado, solo te tropezó el placeholder.
<taskId> era un ejemplo. En bash, los < > se interpretan y por eso falló.
Usa el ID real que te devolvió gog:
GOG_ACCOUNT="alexifra@gmail.com" gog tasks done dHBEYUctR3dRZDZWcEZ2cg c1h0ZE5PY0tCU2lRdHhFMg
GOG_ACCOUNT="alexifra@gmail.com" gog tasks delete dHBEYUctR3dRZDZWcEZ2cg c1h0ZE5PY0tCU2lRdHhFMg
Con eso ya validas Tasks create + read + update + delete ✅
Luego sigue con Drive + Docs
echo "test" >/tmp/gog-auth.txt
GOG_ACCOUNT="alexifra@gmail.com" gog drive mkdir "gog-auth-test"
GOG_ACCOUNT="alexifra@gmail.com" gog drive ls --max 10
GOG_ACCOUNT="alexifra@gmail.com" gog docs create "gog-auth-doc"
Y si tienes una hoja de prueba, Sheets
GOG_ACCOUNT="alexifra@gmail.com" gog sheets metadata <spreadsheetId>
Pega la salida de tasks done/delete y Drive/Docs y ya te doy el veredicto final.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ GOG_ACCOUNT="alexifra@gmail.com" gog tasks done dHBEYUctR3dRZDZWcEZ2cg c1h0ZE5PY0tCU2lRdHhFMg
GOG_ACCOUNT="alexifra@gmail.com" gog tasks delete dHBEYUctR3dRZDZWcEZ2cg c1h0ZE5PY0tCU2lRdHhFMg
id c1h0ZE5PY0tCU2lRdHhFMg
status completed
Proceed to delete task c1h0ZE5PY0tCU2lRdHhFMg from list dHBEYUctR3dRZDZWcEZ2cg? [y/N]: y
deleted true
id c1h0ZE5PY0tCU2lRdHhFMg
Perfecto, Tasks quedó totalmente verificado ✅
Ya validaste en Tasks:
- crear lista
- listar
- crear tarea
- marcar completada
- borrar
Estado actual
- Gmail write ✅
- Tasks read/write/delete ✅
- Drive pendiente
- Docs pendiente
- Sheets pendiente
Siguiente bloque
echo "test" >/tmp/gog-auth.txt
GOG_ACCOUNT="alexifra@gmail.com" gog drive mkdir "gog-auth-test"
GOG_ACCOUNT="alexifra@gmail.com" gog drive ls --max 10
GOG_ACCOUNT="alexifra@gmail.com" gog docs create "gog-auth-doc"
Y si tienes una hoja de prueba para Sheets:
GOG_ACCOUNT="alexifra@gmail.com" gog sheets metadata <spreadsheetId>
Pega esa salida y ya te cierro el diagnóstico final.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ echo "test" >/tmp/gog-auth.txt
GOG_ACCOUNT="alexifra@gmail.com" gog drive mkdir "gog-auth-test"
GOG_ACCOUNT="alexifra@gmail.com" gog drive ls --max 10
GOG_ACCOUNT="alexifra@gmail.com" gog docs create "gog-auth-doc"
id 1Vzic54QWu2xwqt_dabQXqNnltpkNZp1H
name gog-auth-test
link https://drive.google.com/drive/folders/1Vzic54QWu2xwqt_dabQXqNnltpkNZp1H
Next page: --page ~!!~AI9FV7TtvzLs5ICJRP1M6BZ8DhoEE1fbyA8uAaz0Aiuvv_r1zqmkNIFSC8iVQmz_OMbb8M44DtONmscs-j9dZ8pa2SxriRAWuuL0FXBkGpvwQPVYa--W7ATL7E6NTbZ45vDXczzuWur4WyVqgByOAIDjSFZVwa8KyDdFrDxxbB90DomFOfVmji8Gda3pmaaozl26G1OJpIKd4WzrQtA2rnLar1K6MTUZH1q2LmXcv85-n41o3ClWgaZpwhLRh_JAdof5ofe6Yp9VirCqDZghagiILWrTBy41VirYAAFn8ALcdJQKcD4s9DVRf989G4Vgp9Y37d7huBUyfKnCaa4dcTUZ3lyIOB4U661ydiitfu6J7khCfXMOvaltYz55pwZ28OoFF1NRTIBT
ID NAME TYPE SIZE MODIFIED
1Vzic54QWu2xwqt_dabQXqNnltpkNZp1H gog-auth-test folder - 2026-04-20 20:41
1JvFF2WKLo5uJrDYQqq2bkolaXfb5Xl55l-6Twpw9n4E Lab N8N GMAIL file 220.5 KB 2026-04-20 20:28
1YhxRuFnUZS2TIJ5pgj8cQySRqT3Kipmd Instrucciones OpenClaw Backups y credenciales folder - 2026-04-20 19:49
1YZuQ9K9d7iR_eDlooFK9zkf9udDZ8fUzS7AIzMOoByk API KEY y Claves file 1.0 KB 2026-04-19 19:46
1Lenq2vpPfCBsmHQ5Cow15yHkhkUf4PJMhPVq79BJQM8 Análisis de Precios de Cortinas por M2 + Tupy file 37.0 KB 2026-04-19 12:23
1Lx6Z62kYil4qMMbH9RdtLnbSaMeAZKR8ffK3_EtdIYM Análisis de Precios de Cortinas por M2 file 24.9 KB 2026-04-19 12:08
19guyHlnqWY7gzAP-HdYVb6knKkk0RcxtARuv6PfXCq0 Trabajo+de+proceso+2+-+GRUPO+82 file 7.0 KB 2026-04-14 01:58
1qIeqQPKBKVJ5ECrt8zTNeoQQ-iRQBb0xEQ89WJWx27w Trabajo de proceso 2 - Tobias Sanchez.- file 7.8 KB 2026-04-14 01:40
1QdJCBiXG8SOmJCleX3BWmUFqpaMOUjbdjg9TLTLJaV4 Trabajo+de+proceso+1+-+GRUPO+82 file 6.2 KB 2026-04-14 01:26
110_V24eh-7ELKr137VBtWqZ6TClu7LnpSNuwUU3bdtA Trabajo+de+proceso+1+-+GRUPO+82 file 6.3 KB 2026-04-12 21:05
id 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0
name gog-auth-doc
mime application/vnd.google-apps.document
link https://docs.google.com/document/d/1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0/edit?usp=drivesdk
Nice, con eso ya quedaron confirmados también:
- Drive read ✅ (
ls) - Drive create folder ✅ (
mkdir) - Docs create ✅
Ya solo faltan las pruebas finales de move/delete en Drive, read/export/delete en Docs, y create/read/write/clear/delete en Sheets.
Y de verdad, ya no pegues listados completos de Drive, ahí salen nombres sensibles 😅
Remate final, usando solo objetos de prueba
1) Drive, upload / rename / move / delete
Sube el txt al folder de prueba que ya creaste (1Vzic54QWu2xwqt_dabQXqNnltpkNZp1H):
GOG_ACCOUNT="alexifra@gmail.com" gog drive upload /tmp/gog-auth.txt --parent 1Vzic54QWu2xwqt_dabQXqNnltpkNZp1H
Eso te devolverá un id. Llámalo FILE_ID y sigue:
GOG_ACCOUNT="alexifra@gmail.com" gog drive rename FILE_ID "gog-auth-renamed.txt"
GOG_ACCOUNT="alexifra@gmail.com" gog drive mkdir "gog-auth-dest"
Eso te devolverá otro id. Llámalo DEST_ID y sigue:
GOG_ACCOUNT="alexifra@gmail.com" gog drive move FILE_ID --parent DEST_ID
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete FILE_ID
2) Docs, read / export / delete
Usa el doc que ya creaste (1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0):
GOG_ACCOUNT="alexifra@gmail.com" gog docs cat 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0 --max-bytes 10000
GOG_ACCOUNT="alexifra@gmail.com" gog docs export 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0 --format txt --out /tmp/gog-auth-doc.txt
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0
3) Sheets, create / read / write / clear / delete
GOG_ACCOUNT="alexifra@gmail.com" gog sheets create "gog-auth-sheet" --sheets "Sheet1"
Eso te devolverá un spreadsheetId. Luego:
GOG_ACCOUNT="alexifra@gmail.com" gog sheets metadata SPREADSHEET_ID
GOG_ACCOUNT="alexifra@gmail.com" gog sheets update SPREADSHEET_ID 'Sheet1!A1:B2' --values-json '[["a","b"],["1","2"]]'
GOG_ACCOUNT="alexifra@gmail.com" gog sheets clear SPREADSHEET_ID 'Sheet1!A1:B10'
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete SPREADSHEET_ID
Si esos bloques pasan, te doy ya el veredicto final de que quedó completa la verificación.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ GOG_ACCOUNT="alexifra@gmail.com" gog drive upload /tmp/gog-auth.txt --parent 1Vzic54QWu2xwqt_dabQXqNnltpkNZp1H
id 1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN
name gog-auth.txt
link https://drive.google.com/file/d/1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN/view?usp=drivesdk
Perfecto, eso confirma Drive upload ✅
Ya tienes el FILE_ID:
1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN
Sigue con esto:
GOG_ACCOUNT="alexifra@gmail.com" gog drive rename 1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN "gog-auth-renamed.txt"
GOG_ACCOUNT="alexifra@gmail.com" gog drive mkdir "gog-auth-dest"
Cuando te devuelva el id del folder destino, corre:
GOG_ACCOUNT="alexifra@gmail.com" gog drive move 1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN --parent DEST_ID
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete 1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN
Y si quieres ir adelantando Docs también:
GOG_ACCOUNT="alexifra@gmail.com" gog docs cat 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0 --max-bytes 10000
GOG_ACCOUNT="alexifra@gmail.com" gog docs export 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0 --format txt --out /tmp/gog-auth-doc.txt
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ GOG_ACCOUNT="alexifra@gmail.com" gog drive rename 1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN "gog-auth-renamed.txt"
GOG_ACCOUNT="alexifra@gmail.com" gog drive mkdir "gog-auth-dest"
id 1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN
name gog-auth-renamed.txt
id 1ojc1Ov7kHab7tHD1O-z2TZFfRmbJJIrD
name gog-auth-dest
link https://drive.google.com/drive/folders/1ojc1Ov7kHab7tHD1O-z2TZFfRmbJJIrD
Nice, Drive rename y crear carpeta destino ya están confirmados ✅
Ahora remátalo con move + delete:
GOG_ACCOUNT="alexifra@gmail.com" gog drive move 1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN --parent 1ojc1Ov7kHab7tHD1O-z2TZFfRmbJJIrD
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete 1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN
Y para Docs read/export:
GOG_ACCOUNT="alexifra@gmail.com" gog docs cat 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0 --max-bytes 10000
GOG_ACCOUNT="alexifra@gmail.com" gog docs export 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0 --format txt --out /tmp/gog-auth-doc.txt
Si eso pasa, ya solo nos queda delete en Docs y Sheets.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ GOG_ACCOUNT="alexifra@gmail.com" gog drive move 1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN --parent 1ojc1Ov7kHab7tHD1O-z2TZFfRmbJJIrD
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete 1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN
id 1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN
name gog-auth-renamed.txt
Proceed to trash drive file 1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN? [y/N]: y
trashed true
deleted false
id 1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN
Perfecto. Con eso Drive ya quedó verificado ✅
Y ojo, este detalle está bien:
trashed true
deleted false
Eso significa que gog drive delete por defecto manda a la papelera, no borra irreversible.
Para una prueba es mejor así.
Estado
- Gmail ✅
- Tasks ✅
- Drive create / read / rename / move / delete-to-trash ✅
- Docs falta read/export/delete
- Sheets falta create/read/write/clear/delete
Cierra Docs
GOG_ACCOUNT="alexifra@gmail.com" gog docs cat 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0 --max-bytes 10000
GOG_ACCOUNT="alexifra@gmail.com" gog docs export 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0 --format txt --out /tmp/gog-auth-doc.txt
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0
Y luego Sheets
GOG_ACCOUNT="alexifra@gmail.com" gog sheets create "gog-auth-sheet" --sheets "Sheet1"
Eso te devolverá un spreadsheetId. Luego:
GOG_ACCOUNT="alexifra@gmail.com" gog sheets metadata SPREADSHEET_ID
GOG_ACCOUNT="alexifra@gmail.com" gog sheets update SPREADSHEET_ID 'Sheet1!A1:B2' --values-json '[["a","b"],["1","2"]]'
GOG_ACCOUNT="alexifra@gmail.com" gog sheets clear SPREADSHEET_ID 'Sheet1!A1:B10'
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete SPREADSHEET_ID
Pega esas salidas y te cierro el veredicto final.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ GOG_ACCOUNT="alexifra@gmail.com" gog docs cat 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0 --max-bytes 10000
GOG_ACCOUNT="alexifra@gmail.com" gog docs export 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0 --format txt --out /tmp/gog-auth-doc.txt
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0
path /tmp/gog-auth-doc.txt
size 3 B
Proceed to trash drive file 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0? [y/N]: y
trashed true
deleted false
id 1jVAyZNxD1O5LJ2EkytARotrwdeyfFU2-xqDfHGY7_g0
Perfecto, Docs también quedó verificado ✅
Eso confirma:
- lectura (
docs cat) - exportación (
docs export) - borrado a papelera vía Drive (
drive delete)
El size 3 B cuadra con que el doc de prueba estaba prácticamente vacío.
Ya solo falta Sheets
GOG_ACCOUNT="alexifra@gmail.com" gog sheets create "gog-auth-sheet" --sheets "Sheet1"
Eso te devolverá un spreadsheetId. Luego corre:
GOG_ACCOUNT="alexifra@gmail.com" gog sheets metadata SPREADSHEET_ID
GOG_ACCOUNT="alexifra@gmail.com" gog sheets update SPREADSHEET_ID 'Sheet1!A1:B2' --values-json '[["a","b"],["1","2"]]'
GOG_ACCOUNT="alexifra@gmail.com" gog sheets clear SPREADSHEET_ID 'Sheet1!A1:B10'
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete SPREADSHEET_ID
Cuando pegues eso, ya te cierro la verificación completa de Gmail + Tasks + Drive + Docs + Sheets.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ GOG_ACCOUNT="alexifra@gmail.com" gog sheets create "gog-auth-sheet" --sheets "Sheet1"
Google API error (403 accessNotConfigured): Google Sheets API has not been used in project 584041476396 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/sheets.googleapis.com/overview?project=584041476396 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
Ahí ya quedó el diagnóstico final.
Veredicto
La autenticación está bien.
Lo que falla ahora no es OAuth, sino la configuración del proyecto de Google Cloud para Sheets.
Estado real
- Gmail ✅
- Tasks ✅
- Drive ✅
- Docs ✅
- Sheets ❌ bloqueado por API deshabilitada
El error es clarísimo:
403 accessNotConfigured: Google Sheets API ... is disabled
O sea:
- el login funciona
- los tokens funcionan
- los scopes entraron
- pero el proyecto OAuth que estás usando no tiene activada
sheets.googleapis.com
Qué hacer
Activa Google Sheets API en ese proyecto y espera un par de minutos:
https://console.developers.google.com/apis/api/sheets.googleapis.com/overview?project=584041476396
Luego repite:
GOG_ACCOUNT="alexifra@gmail.com" gog sheets create "gog-auth-sheet" --sheets "Sheet1"
GOG_ACCOUNT="alexifra@gmail.com" gog sheets metadata SPREADSHEET_ID
GOG_ACCOUNT="alexifra@gmail.com" gog sheets update SPREADSHEET_ID 'Sheet1!A1:B2' --values-json '[["a","b"],["1","2"]]'
GOG_ACCOUNT="alexifra@gmail.com" gog sheets clear SPREADSHEET_ID 'Sheet1!A1:B10'
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete SPREADSHEET_ID
Resumen corto
Tu verificación completa quedó así:
- Auth rota al inicio → arreglada ✅
- Gmail read/write ✅
- Tasks CRUD ✅
- Drive create/list/upload/rename/move/delete-to-trash ✅
- Docs create/read/export/delete-to-trash ✅
- Sheets pendiente solo por API deshabilitada ❌
En cuanto habilites esa API, debería cerrar limpio.
Si quieres, pega la salida del retry de Sheets y lo damos por terminado.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ GOG_ACCOUNT="alexifra@gmail.com" gog sheets create "gog-auth-sheet" --sheets "Sheet1"
GOG_ACCOUNT="alexifra@gmail.com" gog sheets metadata SPREADSHEET_ID
GOG_ACCOUNT="alexifra@gmail.com" gog sheets update SPREADSHEET_ID 'Sheet1!A1:B2' --values-json '[["a","b"],["1","2"]]'
GOG_ACCOUNT="alexifra@gmail.com" gog sheets clear SPREADSHEET_ID 'Sheet1!A1:B10'
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete SPREADSHEET_ID
Created spreadsheet: gog-auth-sheet
ID: 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8
URL: https://docs.google.com/spreadsheets/d/1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8/edit
Google API error (404 notFound): Requested entity was not found.
Google API error (404 notFound): Requested entity was not found.
Google API error (404 notFound): Requested entity was not found.
Proceed to trash drive file SPREADSHEET_ID? [y/N]: y
Google API error (404 notFound): File not found: SPREADSHEET_ID.
Sí, ahí el problema ya no es ni auth ni la API.
Sheets ya está funcionando, porque esto salió bien:
Created spreadsheet: gog-auth-sheet
ID: 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8
Los 404 notFound pasaron porque ejecutaste literalmente SPREADSHEET_ID en vez del ID real.
Usa este ID exacto:
1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8
Corre esto tal cual
GOG_ACCOUNT="alexifra@gmail.com" gog sheets metadata 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8
GOG_ACCOUNT="alexifra@gmail.com" gog sheets update 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8 'Sheet1!A1:B2' --values-json '[["a","b"],["1","2"]]'
GOG_ACCOUNT="alexifra@gmail.com" gog sheets clear 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8 'Sheet1!A1:B10'
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8
Estado real ahora
- Gmail ✅
- Tasks ✅
- Drive ✅
- Docs ✅
- Sheets create ✅
- Sheets metadata/update/clear/delete pendiente solo por usar el placeholder ❌
O sea, honestamente ya estás a nada.
Si eso corre bien, la verificación queda 100% completa.
Si esto ya te lo resolvió, luego marca la solución para que quede indexado en Answer Overflow 🎉
Que seria esto ? Sheets metadata/update/clear/delete pendiente solo por usar el placeholder ❌
Me refiero a esto:
Tú ejecutaste:
GOG_ACCOUNT="alexifra@gmail.com" gog sheets metadata SPREADSHEET_ID
Pero SPREADSHEET_ID era solo un marcador de ejemplo, no un valor real.
El ID real que te devolvió gog sheets create fue este:
1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8
Entonces hay que reemplazar SPREADSHEET_ID por ese valor real.
O sea, usa esto:
GOG_ACCOUNT="alexifra@gmail.com" gog sheets metadata 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8
GOG_ACCOUNT="alexifra@gmail.com" gog sheets update 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8 'Sheet1!A1:B2' --values-json '[["a","b"],["1","2"]]'
GOG_ACCOUNT="alexifra@gmail.com" gog sheets clear 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8 'Sheet1!A1:B10'
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8
Así sí estás apuntando a la hoja que acabas de crear.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ GOG_ACCOUNT="alexifra@gmail.com" gog sheets metadata 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8
GOG_ACCOUNT="alexifra@gmail.com" gog sheets update 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8 'Sheet1!A1:B2' --values-json '[["a","b"],["1","2"]]'
GOG_ACCOUNT="alexifra@gmail.com" gog sheets clear 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8 'Sheet1!A1:B10'
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8
ID 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8
Title gog-auth-sheet
Locale es_ES
TimeZone Etc/GMT
URL https://docs.google.com/spreadsheets/d/1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8/edit
Sheets:
ID TITLE ROWS COLS
243978064 Sheet1 1000 26
Updated 4 cells in Sheet1!A1:B2
Cleared Sheet1!A1:B10
Proceed to trash drive file 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8? [y/N]: y
trashed true
deleted false
id 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8
Listo, verificación completa hecha ✅
Resultado final
- Gmail: auth + escritura (draft) ✅
- Tasks: crear, leer, completar, borrar ✅
- Drive: crear carpeta, listar, subir, renombrar, mover, borrar ✅
- Docs: crear, leer, exportar, borrar ✅
- Sheets: crear, metadata, escribir, limpiar, borrar ✅
Único matiz
gog drive delete por defecto manda a la papelera:
trashed true
deleted false
Si quieres borrado irreversible, usa --permanent.
Así que sí, tu auth de Google para gog quedó funcionando correctamente para Gmail, Tasks, Drive, Docs y Sheets 🎉
Si esto ya te lo resolvió, por favor marca la solución para que quede indexada en Answer Overflow:
click derecho en el mensaje de solución → Apps → ✅ Mark Solution
Y para la próxima, no pegues URLs OAuth completas en público.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ trashed true
deleted false
trashed: command not found
deleted: command not found
Sí 😄, eso no eran comandos.
trashed true y deleted false eran la salida de gog, no algo para ejecutar en bash.
Significan:
trashed true→ el archivo fue enviado a la papeleradeleted false→ no fue borrado de forma permanente
O sea, todo bien. No hay error nuevo ahí.
Si quieres borrarlo de forma irreversible, entonces el comando sería con --permanent, por ejemplo:
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete <fileId> --permanent
Pero para la verificación que hicimos, mandarlo a papelera ya cuenta como correcto ✅
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ GOG_ACCOUNT="alexifra@gmail.com" gog drive delete <fileId> --permanent
-bash: fileId: No such file or directory
Otra vez te pasó lo mismo, \<fileId> era un placeholder, no texto literal 😄
En bash, esto:
<fileId>
no significa “pon el ID aquí”, sino que intenta hacer redirección, y por eso falla.
Si quieres borrado permanente, usa un ID real
Por ejemplo, la hoja de prueba que creaste tenía este ID:
1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8
Entonces sería:
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete 1E0iEkT5OUdhRkeh9F0kYpcsaIzr46uCm_z88Cweumu8 --permanent
O el archivo de Drive de prueba:
GOG_ACCOUNT="alexifra@gmail.com" gog drive delete 1MssjtHAS3kJu07xi_3Ed985rdmgSJFKN --permanent
Regla rápida
fileId/taskId/spreadsheetId= nombres de ejemplo- siempre hay que sustituirlos por el ID real que te devolvió
gog
Pero para la verificación de auth, ya estaba todo OK antes. Lo permanente ya es extra.
Que mas herramientas de Google podemos habilitar para tener todo el poder de nuestro Workspace de Google ?
Sí, puedes ampliar bastante, pero yo lo haría por capas, no con “todo de golpe”.
Mi recomendación
1) Pack recomendado para uso diario
Esto te da casi todo lo útil sin meterte todavía en admin:
- Gmail
- Calendar
- Drive
- Docs
- Sheets
- Slides
- Tasks
- Contacts / People
- Forms
- Apps Script
Puedes ver la matriz actual con:
gog auth services
Y autorizar casi todo el nivel usuario con:
gog auth add alexifra@gmail.com --services user --force-consent
2) Más potencia todavía
También soporta cosas como:
- Chat
- Classroom
Si las usas, súmalas al pack.
3) Nivel “Workspace admin”
Aquí ya entras en terreno serio y normalmente necesitas Google Workspace + service account + domain-wide delegation:
- Admin SDK
- Groups / Cloud Identity
- Keep (Workspace)
- algunas operaciones de directorio y org
Ahí ya no es solo OAuth de usuario.
Necesitas service account y delegación de dominio:
gog auth service-account set tu@dominio.com --key <service-account.json>
APIs que conviene habilitar en Google Cloud
Si quieres cobertura amplia, activa estas APIs:
- Gmail API
- Google Calendar API
- Google Drive API
- Google Docs API
- Google Sheets API
- Google Slides API
- Google Tasks API
- People API
- Google Forms API
- Apps Script API
- Google Chat API
- Google Classroom API
- Admin SDK API
- Cloud Identity API
- Google Keep API
Resumen corto
Si quieres “casi todo el poder” de usuario:
gog auth add alexifra@gmail.com --services user --force-consent
Si quieres “todo el poder de Workspace”, además necesitas:
- service account
- domain-wide delegation
- Admin SDK / Cloud Identity / Keep APIs habilitadas
Si quieres, te puedo dejar el comando exacto recomendado para un setup:
- personal potente
- empresa / Workspace admin
- máximo pero con mínimo riesgo 🦐
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ gog auth services
SERVICE USER APIS SCOPES NOTE
gmail true Gmail API https://www.googleapis.com/auth/gmail.modify, https://www.googleapis.com/auth/gmail.settings.basic, https://www.googleapis.com/auth/gmail.settings.sharing
calendar true Calendar API https://www.googleapis.com/auth/calendar
chat true Chat API https://www.googleapis.com/auth/chat.spaces, https://www.googleapis.com/auth/chat.messages, https://www.googleapis.com/auth/chat.memberships, https://www.googleapis.com/auth/chat.users.readstate.readonly
classroom true Classroom API https://www.googleapis.com/auth/classroom.courses, https://www.googleapis.com/auth/classroom.rosters, https://www.googleapis.com/auth/classroom.coursework.students, https://www.googleapis.com/auth/classroom.coursework.me, https://www.googleapis.com/auth/classroom.courseworkmaterials, https://www.googleapis.com/auth/classroom.announcements, https://www.googleapis.com/auth/classroom.topics, https://www.googleapis.com/auth/classroom.guardianlinks.students, https://www.googleapis.com/auth/classroom.profile.emails, https://www.googleapis.com/auth/classroom.profile.photos
drive true Drive API https://www.googleapis.com/auth/drive
docs true Docs API, Drive API https://www.googleapis.com/auth/drive, https://www.googleapis.com/auth/documents Export/copy/create via Drive
slides true Slides APhttps://www.googleapis.com/auth/drive, https://www.googleapis.com/auth/presentations
Sí, eso ya confirma que gog tiene bastante más músculo del que estabas usando.
Mi recomendación real
Opción A, la que yo usaría
Power user sin volverte loco con scopes gigantes:
gog auth add alexifra@gmail.com --services gmail,calendar,drive,docs,sheets,slides,tasks,contacts,people,forms,appscript --force-consent
Eso te da prácticamente todo lo útil para productividad.
Opción B, “todo lo de usuario”
Si quieres casi todo lo que gog expone a nivel usuario:
gog auth add alexifra@gmail.com --services user --force-consent
Eso suele incluir:
- Gmail
- Calendar
- Chat
- Classroom
- Drive
- Docs
- Slides
- Contacts
- Tasks
- Sheets
- People
- Forms
- Apps Script
Opción C, poder total de Workspace
Para llegar al nivel admin de verdad, ya no basta solo con tu OAuth personal.
Necesitas además:
- Admin SDK API
- Cloud Identity API
- Google Keep API (si la quieres)
- service account
- domain-wide delegation
Y luego:
gog auth service-account set tu@dominio.com --key <service-account.json>
Eso es lo que te abre cosas tipo:
- Admin
- Groups
- Keep
- directorio / dominio
Mi consejo
- Si eres usuario avanzado: usa Opción A
- Si quieres laboratorio completo: usa Opción B
- Si quieres control de Workspace de empresa: Opción B + service account + delegation
Si quieres, te dejo ahora mismo el checklist exacto de APIs a activar para Opción A o para Opción C.
laboratorio completo: usa Opción B
Perfecto, entonces ve con Opción B.
Comando
gog auth add alexifra@gmail.com --services user --force-consent
Luego verifica
gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
APIs que conviene dejar habilitadas para “laboratorio completo”
En tu proyecto de Google Cloud activa estas:
- Gmail API
- Google Calendar API
- Google Chat API
- Google Classroom API
- Google Drive API
- Google Docs API
- Google Slides API
- Google Sheets API
- Google Tasks API
- People API
- Google Forms API
- Apps Script API
Qué te va a abrir
Con --services user normalmente te llevas:
- Gmail
- Calendar
- Chat
- Classroom
- Drive
- Docs
- Slides
- Contacts / People
- Tasks
- Sheets
- Forms
- Apps Script
Lo que NO entra aún
Esto ya es otro nivel y requiere service account + domain-wide delegation:
- Admin
- Groups
- Keep
Si quieres, te dejo en el siguiente mensaje un checklist limpio de APIs + pruebas mínimas para cada una, para que tu laboratorio quede redondo.
corriendo este comendo de autenticacion nuevamente, revoca todo lo que ya tenemos ok y autenticado ?
No, no te revoca todo lo que ya está OK.
Qué hace realmente
Si corres otra vez:
gog auth add alexifra@gmail.com --services user --force-consent
lo normal es que:
- vuelva a pedir consentimiento
- amplíe/actualice scopes
- guarde un refresh token nuevo para esa cuenta/cliente
Pero no borra automáticamente todo lo anterior ni te deja “sin auth”.
Lo importante
- No revoca en Google por sí solo
- No rompe Gmail/Drive/Docs/Sheets/Tasks que ya validaste
- simplemente intenta dejar esa cuenta con un set más amplio de permisos
Diferencia clave
gog auth add ...→ actualiza / amplía authgog auth remove alexifra@gmail.com→ borra el token local guardado- revocar desde tu cuenta Google → invalida el acceso de verdad
Mi recomendación
Como ya te funciona todo, puedes correrlo tranquilo si quieres ampliar a user.
Si quieres ir fino, haz esto después:
gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
Así confirmas que el token nuevo quedó bien.
Si quieres, te digo también cuál es la forma más segura de ampliar scopes sin llevarte permisos innecesarios.
lo que si me interesa sumar a todo esto es autorizacion full a Keep, que lo utilizo con Task
Sí, pero aquí viene la trampa importante:
Keep no entra en el OAuth normal de usuario
En gog auth services, Keep sale como algo tipo:
- USER = false
- Workspace only
- requiere service account + domain-wide delegation
O sea, no se suma con esto:
gog auth add alexifra@gmail.com --services user --force-consent
y tampoco con tu auth actual de alexifra@gmail.com si es una cuenta personal.
Para tener Keep “full” necesitas esto
- Google Workspace (dominio propio, no solo
@gmail.com) - Google Keep API habilitada
- service account en Google Cloud
- domain-wide delegation activada
- allowlist del scope
https://www.googleapis.com/auth/keepen Admin Console - configurar
gogasí:
gog auth service-account set tu@tu-dominio.com --key <service-account.json>
y luego probar:
gog keep list --account tu@tu-dominio.com
Si estás solo con alexifra@gmail.com
Entonces la respuesta corta es:
no, Keep full no lo vas a sumar con el mismo flujo OAuth de usuario.
Mi recomendación
- Si quieres Keep de verdad, usa una cuenta Workspace de dominio
- Si sigues en cuenta personal, quédate con:
- Tasks
- Docs
- Sheets
- Drive
que ya te quedaron finos
Si quieres, te dejo el paso a paso exacto para montar Keep con Workspace + service account.
cuales son los servicios fundamentales a habilitar del Workspace de Google
Si hablamos de fundamentales de verdad para un Workspace bien útil, yo los dividiría así:
1) Núcleo mínimo, los imprescindibles
Estos son los que casi siempre activaría primero:
- Gmail API
- Google Calendar API
- Google Drive API
- Google Docs API
- Google Sheets API
- Google Tasks API
- People API
Con esos ya cubres:
- correo
- agenda
- archivos
- documentos
- hojas
- tareas
- contactos/personas
2) Segunda capa, muy recomendables
Si quieres un workspace más potente:
- Google Slides API
- Google Forms API
- Apps Script API
- Google Chat API
Estos te dan:
- presentaciones
- formularios
- automatización
- mensajería interna
3) Nivel empresa / admin
Solo si vas a administrar el dominio o quieres poder serio de Workspace:
- Admin SDK API
- Cloud Identity API
- Google Keep API
(esta ya te dije que normalmente pide Workspace + service account + domain-wide delegation)
Mi recomendación práctica
Si quieres un setup base sólido:
activa estos 7 sí o sí:
Gmail
Calendar
Drive
Docs
Sheets
Tasks
People
Si quieres un setup “pro”:
añade además:
Slides
Forms
Apps Script
Chat
Si quieres “poder total de Workspace”:
añade también:
Admin SDK
Cloud Identity
Keep
pero ahí ya entras en territorio de service accounts y delegación de dominio.
Si quieres, te lo dejo en formato checklist exacto para Google Cloud Console, para ir activándolos uno por uno sin perderte.
terminemos con esto Gmail
Calendar
Drive
Docs
Sheets
Tasks
People
Perfecto, cerremos con ese paquete base.
APIs a habilitar en Google Cloud
Activa estas 7:
- Gmail API
- Google Calendar API
- Google Drive API
- Google Docs API
- Google Sheets API
- Google Tasks API
- People API
Comando de auth recomendado
Como ya validaste casi todo, yo lo dejaría así:
gog auth add alexifra@gmail.com --services gmail,calendar,drive,docs,sheets,tasks,contacts,people --force-consent
Importante
Meto también contacts porque:
peoplesolo cubre perfil / lookup básicocontactses lo que te da acceso real a libreta de contactos
Lo que ya tienes básicamente validado
- Gmail ✅
- Drive ✅
- Docs ✅
- Sheets ✅
- Tasks ✅
Lo que te faltaría verificar de este paquete
Calendar
GOG_ACCOUNT="alexifra@gmail.com" gog calendar calendars --max 5
Contacts / People
GOG_ACCOUNT="alexifra@gmail.com" gog contacts list --max 10
Estado general
gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
Mi cierre práctico
Si haces esto:
gog auth add alexifra@gmail.com --services gmail,calendar,drive,docs,sheets,tasks,contacts,people --force-consent
te queda un Google Workspace base muy sólido para productividad real.
Si quieres, el siguiente mensaje te lo dejo en formato checklist final de 5 comandos para cerrar Calendar + Contacts y darlo por terminado.
esto salio en el explorador.........You're connected
gog is now authorized to access Google Workspace
Sí, eso es justo la señal buena ✅
Significa que gog sí quedó autorizado con Google correctamente.
Traducción corta
- el flujo OAuth terminó bien
- Google aceptó el consentimiento
gogya tiene acceso para los servicios que pediste
Para confirmarlo por terminal
Corre esto:
gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
GOG_ACCOUNT="alexifra@gmail.com" gog calendar calendars --max 5
GOG_ACCOUNT="alexifra@gmail.com" gog contacts list --max 10
Si eso responde bien, entonces ya dejas cerrado el pack base:
- Gmail ✅
- Calendar ✅
- Drive ✅
- Docs ✅
- Sheets ✅
- Tasks ✅
- Contacts / People ✅
Si quieres, pega esa salida y te doy el cierre final para marcar solución.
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ gog auth list --check
GOG_ACCOUNT="alexifra@gmail.com" gog auth status
GOG_ACCOUNT="alexifra@gmail.com" gog calendar calendars --max 5
GOG_ACCOUNT="alexifra@gmail.com" gog contacts list --max 10
alexifra@gmail.com default calendar,contacts,docs,drive,gmail,people,sheets,tasks 2026-04-20T22:38:24Z true oauth
config_path /home/alexifra/.config/gogcli/config.json
config_exists false
keyring_backend file
keyring_backend_source env
account alexifra@gmail.com
client default
credentials_path /home/alexifra/.config/gogcli/credentials.json
credentials_exists true
auth_preferred oauth
service_account_configured false
ID NAME ROLE
alexifra@gmail.com alexifra@gmail.com owner
family04214302844635559960@group.calendar.google.com Familia owner
classroom105106335928879638257@group.calendar.google.com SANTUARIO HOGAR 2026 LAF ARQ 2026 reader
Google API error (403 accessNotConfigured): People API has not been used in project 584041476396 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/people.googleapis.com/overview?project=584041476396 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
Perfecto, ya casi queda redondo.
Resultado
- auth token ✅
- Calendar ✅
- Gmail / Drive / Docs / Sheets / Tasks ✅
- Contacts / People ❌ pero no por auth, sino porque falta habilitar la API
El error es este:
People API ... is disabled
Qué significa
Tu autorización está bien.
Lo único que falta es activar People API en el proyecto de Google Cloud que usa ese cliente OAuth.
Actívala aquí:
https://console.developers.google.com/apis/api/people.googleapis.com/overview?project=584041476396
Espera un par de minutos y luego prueba solo esto:
GOG_ACCOUNT="alexifra@gmail.com" gog contacts list --max 10
Importante
No hace falta reautenticar otra vez.
El token ya está bien. Solo falta la API.
Veredicto final
Tu pack base quedó así:
- Gmail ✅
- Calendar ✅
- Drive ✅
- Docs ✅
- Sheets ✅
- Tasks ✅
- People / Contacts ⏳ solo pendiente de habilitar People API
En cuanto actives esa API, queda 100% completo.
Si luego te funciona gog contacts list, ya puedes marcar la solución 🎉
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ GOG_ACCOUNT="alexifra@gmail.com" gog contacts list --max 1 Next page: --page GiIKHggKagwIqteazwYQ2I6zpQJyDAih15rPBhCw4fbRAhAC
RESOURCE NAME EMAIL PHONE
people/c8354987017742912051
people/c699276175525275488 Vicente Nuñez Kmeli 🚩 Vecino Latino +595983929883
people/c2859949558606583288 Sergio Pizurno Szarán +595983704880
people/c7633757572307939153 Ivan +56993151595
people/c9179436035555409639 Jorge Pistilli +595971286652
people/c7848472724115758095 Venancio Pino +595981242109
people/c7681650862040415749 Sauna Caballeros - Club Centenario +595981303159
people/c3577019620221375739 Rita Supervisora Latino +595982298913
people/c6044348342492558774 Dahia🫶🏼 Latino +595972950161
people/c8127319928114920233 Enrique Kike Dami +595981469088
Sí, con eso ya quedó completo ✅
gog contacts list respondió bien, así que People / Contacts también está funcionando.
Veredicto final
Tu pack base quedó verificado de punta a punta:
- Gmail ✅
- Calendar ✅
- Drive ✅
- Docs ✅
- Sheets ✅
- Tasks ✅
- People / Contacts ✅
O sea, la autenticación y el acceso real para ese núcleo de Google Workspace quedaron bien configurados.
Y ojo, no pegues más contactos reales en público, ahí ya salieron datos sensibles.
Glad that helped! 🎉
Si esto ya quedó resuelto, por favor marca la solución para que quede indexada en Answer Overflow:
click derecho en el mensaje de solución → Apps → ✅ Mark Solution
como configuramos Google Keep ahora ?
Google Keep es el único que va por otra ruta.
Lo primero
Si estás solo con alexifra@gmail.com personal, Keep no lo vas a configurar full con ese mismo OAuth.
Para Google Keep en gog necesitas:
- Google Workspace con dominio propio
- Google Keep API habilitada
- service account
- domain-wide delegation
Si sí tienes Workspace, el paso a paso es este
1) Habilita la API
En Google Cloud, activa:
- Google Keep API
2) Crea una service account
En tu proyecto de Google Cloud:
- IAM & Admin → Service Accounts
- Create service account
- entra a la service account
- activa Domain-wide delegation
- crea una key JSON y descárgala
3) Autoriza el scope en Admin Console
En Google Workspace Admin:
- Security
- API controls
- Domain-wide delegation
- Add new
Ahí pones:
- Client ID: el de la service account
- OAuth scope:
https://www.googleapis.com/auth/keep
4) Configura gog
Luego en terminal:
gog auth service-account set tu@tu-dominio.com --key ~/Downloads/service-account.json
5) Prueba
gog keep list --account tu@tu-dominio.com
gog keep create --title "Todo" --item "Milk" --item "Eggs" --account tu@tu-dominio.com
gog keep delete <noteId> --account tu@tu-dominio.com --force
Resumen corto
- Cuenta personal Gmail → Keep full: no
- Workspace + service account + delegation → Keep full: sí
Si quieres, te preparo ahora mismo el checklist exacto de 6 pasos para montarlo sin perderte.
Cuentas de servicio
Cuentas de servicio del proyecto “My Project 10877 Notas”
Una cuenta de servicio representa una identidad de servicio de Google Cloud, como el código en ejecución en las VM de Compute Engine, las apps de App Engine o los sistemas que se ejecutan fuera de Google. Obtén más información sobre las cuentas de servicio.
Las políticas de la organización se pueden usar para asegurar las cuentas de servicio y bloquear sus características riesgosas, como el otorgamiento automático de IAM, la creación y carga de claves, o la creación misma de cuentas de servicio. Obtén más información sobre las políticas de la organización para cuentas de servicio.
Filtro
Correo electrónico
Estado
Nombre
Descripción
ID de clave
Fecha de creación de la clave
ID de cliente de OAuth 2
Acciones
openclaw-bridge@my-project-10877-notas.iam.gserviceaccount.com
Habilitado
openclaw-bridge Acceso servicios Google Worspace a Open Claw
add06407fe2cc6c2ba6f502355f566ee1f825bde
8 abr 2026 Para ID de clave, add06407fe2cc6c2ba6f502355f566ee1f825bde
106993411035821033609
Perfecto, eso ya es justo lo que necesitabas.
La service account ya existe.
La pieza importante de lo que pegaste es esta:
- service account:
openclaw-bridge@my-project-10877-notas.iam.gserviceaccount.com - OAuth 2 Client ID:
106993411035821033609
Ahora te faltan 4 pasos
1) Confirmar que tenga Domain-wide delegation
En la service account, entra a detalles y verifica que esté activado Google Workspace domain-wide delegation.
Si no está activado, hay que habilitarlo ahí.
2) Autorizarla en Google Workspace Admin
En Admin Console:
- Security
- API controls
- Domain-wide delegation
- Add new
Pon:
-
Client ID:
106993411035821033609 -
OAuth scopes:
https://www.googleapis.com/auth/keep
Si luego quieres reutilizar esta misma service account para más cosas, puedes añadir más scopes separados por comas.
3) Tener la key JSON local
Necesitas el archivo JSON de esa service account en tu máquina.
No lo pegues aquí.
Si ya lo descargaste, perfecto.
Si no, crea/descarga una key JSON para esa service account.
4) Configurar gog
Luego en terminal:
gog auth service-account set TU_USUARIO_WORKSPACE@TU_DOMINIO.com --key /ruta/a/service-account.json
Ojo importante
Ahí no pondría alexifra@gmail.com si es cuenta personal.
Tienes que poner el usuario de tu dominio Workspace que quieres impersonar.
Prueba final
gog --account TU_USUARIO_WORKSPACE@TU_DOMINIO.com auth status
gog keep list --account TU_USUARIO_WORKSPACE@TU_DOMINIO.com
Si eso responde, Keep ya quedó montado.
Resumen
Ya tienes:
- service account ✅
- client ID ✅
Te falta:
- domain-wide delegation ✅/pendiente
- allowlist del scope
keepen Admin ✅/pendiente - key JSON local ✅/pendiente
gog auth service-account set ...✅/pendiente
Si quieres, te doy el texto exacto que debes pegar en Domain-wide delegation y el comando exacto final con tu correo de Workspace.
openclaw-bridge
Detalles
Permisos
Claves
Métricas
Registros
Principales con acceso
Detalles de la cuenta de servicio
Nombre
openclaw-bridge
Descripción
Acceso servicios Google Worspace a Open Claw
Correo electrónico
openclaw-bridge@my-project-10877-notas.iam.gserviceaccount.com
ID único
106993411035821033609
Estado de la cuenta de servicio
Inhabilitar la cuenta te permite conservar tus políticas sin necesidad de borrarla.
Habilitada
Perfecto, esa parte está bien:
- la service account existe
- está habilitada
- y el ID que vas a usar como referencia es:
106993411035821033609
Lo que todavía no veo en esa pantalla
Ahí aún no aparece si tiene activada la delegación en todo el dominio.
Eso es lo siguiente a comprobar.
Siguiente paso exacto
En esa misma service account:
- entra a Editar
- busca algo como:
- Enable Google Workspace Domain-wide Delegation
- o Delegación en todo el dominio
- si no está activado, actívalo
Después: Admin Console
Cuando eso esté activo, ve a:
- Security
- API controls
- Domain-wide delegation
- Add new
Y pega:
Client ID
106993411035821033609
OAuth scopes
https://www.googleapis.com/auth/keep
Luego en tu máquina
Con el JSON key descargado:
gog auth service-account set TU_USUARIO_WORKSPACE@TU_DOMINIO.com --key /ruta/a/service-account.json
gog keep list --account TU_USUARIO_WORKSPACE@TU_DOMINIO.com
Ojo
- usa un correo de tu dominio Workspace
- no
alexifra@gmail.comsi eso es cuenta personal - no pegues aquí el JSON key
Si quieres, el siguiente paso lo hacemos juntos:
1) confirmar si la delegación está activada
o
2) pegar el Client ID + scope en Admin Console.
no encuentro esta parte......busca algo como:
Enable Google Workspace Domain-wide Delegation
o Delegación en todo el dominio
Sí, mejor ruta: no lo busques más ahí.
Te corrijo la dirección, porque en la UI actual de Google muchas veces no hace falta encontrar ese switch en la service account si ya tienes esto:
ID único / Client ID: 106993411035821033609
Haz esto directamente
Ve a Google Admin Console con un super admin:
Security → Access and data control → API controls → Manage Domain Wide Delegation
Luego:
- Add new
- Client ID:
106993411035821033609
- OAuth scopes:
https://www.googleapis.com/auth/keep - Authorize
Después
En tu máquina:
gog auth service-account set TU_USUARIO_WORKSPACE@TU_DOMINIO.com --key /ruta/a/service-account.json
gog keep list --account TU_USUARIO_WORKSPACE@TU_DOMINIO.com
Si te da error al autorizar el Client ID
Ahí sí te diría que la service account no quedó bien preparada y tocaría recrearla con la opción adecuada.
Pero primero prueba en Admin Console, porque con lo que mostraste ya deberías poder avanzar.
Si quieres, te dejo el texto exacto listo para copiar y pegar en Client ID y OAuth scopes.
donde lo encuentro ? Ve a Google Admin Console
Está en:
Pero ojo
Ese panel solo existe si tienes Google Workspace y permisos de administrador.
Si entras con una cuenta de dominio Workspace
Te debería dejar pasar y luego navegas a:
Security → Access and data control → API controls → Manage Domain Wide Delegation
Si entras con alexifra@gmail.com personal
Lo normal es que:
- no tengas Admin Console
- o no veas esas opciones
En ese caso, ahí se confirma que Keep full con service account no lo vas a poder cerrar desde una cuenta personal.
Prueba rápida
Abre:
- si entra a panel admin, seguimos
- si no entra o no tienes permisos, ahí está el bloqueo
Si quieres, dime qué te muestra exactamente al abrir admin.google.com y te digo en cuál de los dos casos estás.
ok
Dale.
Cuando abras admin.google.com, dime qué pasa:
- entra al panel admin, o
- te dice que no tienes acceso / no eres administrador
Con eso te digo enseguida si Keep es viable en tu caso o si queda descartado con esa cuenta.
ok, descartemos por ahora
Sí, me parece bien.
Entonces lo dejamos así:
- Gmail ✅
- Calendar ✅
- Drive ✅
- Docs ✅
- Sheets ✅
- Tasks ✅
- People / Contacts ✅
- Keep ⏸️ descartado por ahora, porque ya entra en terreno Workspace admin / service account
Para lo que querías al principio, ya quedaste muy bien armado.
Si más adelante montas un dominio Workspace, retomamos Keep desde ahí.
Y si esto ya quedó resuelto, marca la solución para que quede indexada en Answer Overflow 🎉
como marcamos la solucion ?