iRaffe FTP Backups v1.0.28 — Google Drive (configuración oficial)
====================================================================

IMPORTANTE
----------
La configuración técnica de Google se hace SOLO UNA VEZ por instalación/cliente
OAuth. Después, el uso normal queda reducido a:

  Conectar con Google -> elegir cuenta -> autorizar -> seleccionar/crear carpeta.

La contraseña de Google se escribe únicamente en la página oficial de Google.
iRaffe FTP Backups nunca recibe ni almacena esa contraseña.

1. ABRIR LA CONFIGURACIÓN DE GOOGLE EN IRAFFE
---------------------------------------------
1) En iRaffe FTP Backups selecciona "Google Drive" como destino.
2) Abre "Configurar acceso Google".
3) Copia la "URI de redirección autorizada" que muestra iRaffe.

Esa URI depende de dónde esté abierta la app. Ejemplos habituales:

  Windows/Apache: http://localhost/backup/api/google_oauth_callback.php
  macOS/MAMP:     http://localhost:8888/backup/api/google_oauth_callback.php

Usa SIEMPRE la URI que muestra iRaffe, no escribas una de memoria.

2. CREAR/SELECCIONAR PROYECTO EN GOOGLE CLOUD
----------------------------------------------
1) Abre Google Cloud Console.
2) Crea un proyecto nuevo o selecciona uno existente.
3) Habilita "Google Drive API".

No es necesario instalar Google Drive Desktop.

3. CONFIGURAR GOOGLE AUTH PLATFORM
----------------------------------
1) Abre Google Auth Platform.
2) En Branding configura al menos:
   - Nombre de la aplicación: iRaffe FTP Backups
   - Correo de soporte.
3) En Audience/Audiencia:
   - Para una cuenta Gmail normal usa "External".
   - Mientras esté en modo de prueba, agrega como usuario de prueba la cuenta
     Gmail que vas a conectar.

4. CREAR EL CLIENTE OAUTH
-------------------------
1) Ve a Google Auth Platform > Clients/Clientes.
2) Pulsa "Create client" / "Crear cliente".
3) Tipo de aplicación: "Web application" / "Aplicación web".
4) Nombre sugerido: iRaffe FTP Backups.
5) En "Authorized redirect URIs" / "URI de redireccionamiento autorizados",
   pega EXACTAMENTE la URI copiada desde iRaffe.
6) Si usarás la misma configuración con otra instalación que tenga otra URI
   (por ejemplo localhost y localhost:8888), agrega también esa segunda URI.
7) Crea el cliente.
8) Copia el Client ID y el Client Secret.

5. GUARDAR EL ACCESO EN IRAFFE
------------------------------
1) Regresa a iRaffe.
2) Pega el Client ID.
3) Pega el Client Secret.
4) Pulsa "Guardar acceso Google".

Esto guarda únicamente la identidad OAuth de Google. No modifica los sitios FTP,
la ruta local ni el resto de ajustes.

6. CONECTAR LA CUENTA
---------------------
1) Pulsa "Conectar con Google".
2) Se abrirá Google en una ventana del navegador.
3) Elige tu cuenta Gmail normal.
4) Introduce tu contraseña y 2FA directamente en Google si te lo solicita.
5) Acepta el permiso solicitado.
6) Google regresará automáticamente a iRaffe.

El permiso utilizado por iRaffe es:
  https://www.googleapis.com/auth/drive.file

7. ELEGIR O CREAR LA CARPETA DE RESPALDOS
------------------------------------------
Después de conectar la cuenta puedes:

A) Seleccionar una carpeta existente
   - Pulsa "Seleccionar carpeta existente".
   - Google abre su selector oficial.
   - Elige la carpeta y confirma.

B) Crear una carpeta nueva
   - Escribe el nombre, por ejemplo: Respaldos FTP.
   - Pulsa "Crear carpeta en Mi unidad".
   - iRaffe crea la carpeta mediante Google Drive API y guarda su folder_id.

La aplicación guarda el ID de Google, no una ruta de Windows/macOS. Renombrar la
carpeta posteriormente en Drive no rompe la vinculación.

8. USO NORMAL DESPUÉS DE CONFIGURARLO
-------------------------------------
En los siguientes usos NO debes repetir Google Cloud. El flujo será:

  Abrir iRaffe
  -> Google Drive ya configurado
  -> si la cuenta continúa autorizada, ejecutar backup
  -> si Google pide reconexión, pulsar "Conectar con Google"
  -> ejecutar backup.

9. ARCHIVOS GRANDES Y REANUDACIÓN
---------------------------------
Los archivos grandes se descargan a staging temporal y se suben a Google Drive
mediante sesiones reanudables en bloques de 8 MiB. Si Internet o Drive fallan,
el staging se conserva y la subida puede continuar sin volver a descargar todo
el archivo desde FTP.

10. WINDOWS Y macOS
-------------------
Google Drive se maneja por navegador/API. Para el destino Drive, iRaffe NO usa:

  - Finder
  - Explorador de Windows
  - /Volumes/...
  - letras de unidad G:\ u otras
  - Google Drive Desktop

Por eso la selección de Drive funciona con el mismo flujo en Windows y macOS.
El destino Local continúa usando su lógica independiente ya estabilizada.

11. SEGURIDAD
-------------
- El Client Secret y los tokens OAuth se guardan en la configuración cifrada.
- get_config.php no devuelve Client Secret, access token ni refresh token al navegador.
- Cambiar Client ID/Secret invalida tokens y carpeta anteriores.
- Desconectar elimina tokens y carpeta seleccionada, pero conserva Client ID/Secret
  para permitir reconectar sin repetir la configuración técnica.

CONEXION PERSISTENTE
-------------------
Una vez autorizada la cuenta, iRaffe conserva cifrado el refresh token. No es necesario volver a conectar al abrir la aplicación. Solo se repite la autorización si se pulsa Desconectar, Google revoca el acceso o se cambia el Client ID/Secret.

CARPETAS
--------
Usa Elegir / crear carpeta. Puedes seleccionar una existente con el selector oficial de Google o crear una nueva en Mi unidad o dentro de la carpeta actual; la nueva queda seleccionada automáticamente.

NOTA SOBRE CAMBIAR A OTRA CARPETA
---------------------------------
La conexión de la cuenta permanece guardada. Si eliges una carpeta existente distinta, Google puede mostrar nuevamente su pantalla de consentimiento porque el permiso drive.file concede acceso carpeta por carpeta. Eso no significa que iRaffe haya olvidado la conexión. Crear una carpeta nueva desde iRaffe usa la sesión guardada y no vuelve a autenticar.

PERSISTENCIA Y CARPETAS EN v1.0.28
---------------------------------
- La primera autorización guarda un refresh_token cifrado.
- Al volver a abrir iRaffe, la conexión se reconoce automáticamente y el access_token se renueva cuando haga falta.
- "Conectar con Google" se oculta mientras la autorización siga vigente.
- "Elegir / crear carpeta" permite seleccionar una carpeta existente o crear una nueva sin perder la conexión.
- Una carpeta nueva puede crearse en Mi unidad o dentro de la carpeta actualmente seleccionada y queda activa inmediatamente.
- Si Google revoca el permiso, cambias el cliente OAuth o pulsas Desconectar, entonces sí será necesario autorizar de nuevo.
