Autenticar con OAuth de Google para acceder a Google Drive
Authenticates with Google OAuth to obtain access tokens for Google Drive sources.
npx claudepluginhub elafo/context-sourcessource_idgdrive/Este comando ejecuta el flujo de autenticación OAuth para obtener acceso a archivos nativos de Google Drive.
Antes de ejecutar este comando, asegúrate de haber completado /context-sources:gdrive:setup <source-id>:
credentials.json guardado en la ruta correctaUsa $1 como source_id. Verifica que existe en .context-sources/sources.yaml y tiene provider: gdrive.
Lee .context-sources/sources.yaml y filtra las fuentes con provider: gdrive. Luego pregunta:
tool: AskUserQuestion
questions:
- question: "¿Para qué fuente de Google Drive quieres autenticarte?"
header: "Fuente"
multiSelect: false
options:
# Generar dinámicamente desde sources.yaml
- label: "<source-id-1>"
description: "<path de la fuente>"
- label: "<source-id-2>"
description: "<path de la fuente>"
Busca credentials.json en orden de prioridad:
.context-sources/gdrive/<source-id>/credentials.json~/.context-sources/gdrive/<source-id>/credentials.json# Verificar nivel proyecto
PROJECT_CREDS=".context-sources/gdrive/<source-id>/credentials.json"
USER_CREDS="$HOME/.context-sources/gdrive/<source-id>/credentials.json"
if [ -f "$PROJECT_CREDS" ]; then
CREDS_PATH="$PROJECT_CREDS"
CREDS_DIR=".context-sources/gdrive/<source-id>"
elif [ -f "$USER_CREDS" ]; then
CREDS_PATH="$USER_CREDS"
CREDS_DIR="$HOME/.context-sources/gdrive/<source-id>"
else
echo "NOT_FOUND"
fi
Informa al usuario:
No se encontraron credenciales para la fuente
<source-id>.Ejecuta primero:
/context-sources:gdrive:setup <source-id>
Si las credenciales existen, ejecuta el script de autenticación pasando la ruta:
python3 $PLUGIN_DIR/tools/gdrive/gdrive_auth.py --credentials "$CREDS_PATH" --token-dir "$CREDS_DIR"
Esto:
<CREDS_DIR>/token.jsonCuando se abra el navegador:
Después de autenticar, verifica que el token se haya creado:
test -f "$CREDS_DIR/token.json" && echo "✅ Autenticación exitosa para <source-id>" || echo "❌ Error en autenticación"
Muestra resumen:
Autenticación completada para
<source-id>
- Credenciales:
<CREDS_DIR>/credentials.json- Token:
<CREDS_DIR>/token.jsonYa puedes usar esta fuente con:
/context-sources:load <source-id>
El token se renueva automáticamente cuando expira. Si tienes problemas:
Elimina el token existente:
rm "<CREDS_DIR>/token.json"
Vuelve a ejecutar este comando:
/context-sources:gdrive:auth <source-id>
Las credenciales no están configuradas como "Desktop app". Crea nuevas credenciales en Google Cloud Console.
El usuario rechazó el acceso o no tiene permisos en el Drive especificado.
El archivo credentials.json está corrupto o es inválido. Descárgalo de nuevo desde Google Cloud Console.
Si estás en un entorno sin GUI, el script imprimirá una URL. Cópiala y ábrela manualmente en un navegador.
Ejecuta primero /context-sources:gdrive:setup <source-id> para configurar las credenciales.