Conectar Google Drive (configurar la cuenta de servicio)
Google Drive Portal se conecta a Google Drive con una cuenta de servicio: una identidad técnica de Google que creas gratis en tu propio proyecto de Google Cloud. Descargas su clave (un pequeño archivo JSON), se la das al plugin y compartes una carpeta de Drive con la dirección de la cuenta de servicio. Toda esta guía lleva unos 10 minutos.
No necesitas ninguna app OAuth. Este plugin no usa "Iniciar sesión con Google". No creas credenciales OAuth, no copias ninguna redirect URI, no configuras una pantalla de consentimiento y no añades usuarios de prueba ni publicas una app. Los tutoriales que mencionan esos pasos son para otros plugins. La conexión con cuenta de servicio no caduca a los 7 días y no necesita verificación de Google.
Antes de empezar
- Una cuenta de Google que pueda abrir la carpeta de Drive que quieres mostrar (una cuenta normal de Gmail o una cuenta de Google Workspace).
- El plugin instalado y activado (consulta Instalar la versión gratuita).
- En WordPress, abre Drive Documents. Deja esta página abierta en una pestaña del navegador: el paso 1 de la página tiene enlaces directos a las páginas de Google que se usan a continuación.
Paso A: crea un proyecto de Google Cloud
Un proyecto es un contenedor de Google Cloud que guarda tus ajustes. Es gratuito: este plugin usa la API de Google Drive, que no tiene coste en un uso normal.
- Ve a console.cloud.google.com/projectcreate e inicia sesión con tu cuenta de Google. Si es tu primera visita, acepta las condiciones del servicio.
- En Project name, escribe un nombre que reconozcas, por ejemplo Documentos web.
- Deja los demás campos como están y haz clic en Create.
- Espera unos segundos y comprueba que el nuevo proyecto está seleccionado en el selector de proyectos de la parte superior de la consola.
También puedes usar un proyecto que ya tengas.
Paso B: activa la API de Google Drive
- Abre la página de la API de Google Drive (o, en el menú de la consola, APIs and services > Library y busca Google Drive API).
- Comprueba que tu proyecto está seleccionado arriba.
- Haz clic en Enable.
Si te saltas este paso, el plugin te dirá más tarde: The Google Drive API is not enabled on this project. (La API de Google Drive no está activada en este proyecto).
Paso C: crea la cuenta de servicio
- Abre IAM and admin > Service accounts.
- Haz clic en Create service account.
- Ponle el nombre que quieras, por ejemplo wordpress-portal. Google rellena un ID por ti.
- Haz clic en Create and continue.
- Las pantallas siguientes piden roles y acceso de usuarios. No concedas nada: haz clic en Continue y después en Done. La cuenta de servicio no necesita ningún rol de Cloud.
Paso D: descarga la clave JSON
- En la lista de cuentas de servicio, haz clic en la que acabas de crear.
- Abre la pestaña Keys.
- Haz clic en Add key > Create new key.
- Elige JSON y haz clic en Create.
- Se descarga un archivo
.jsonen tu ordenador.
Guarda este archivo en un lugar seguro. Es la contraseña de esta conexión. No lo envíes por correo ni lo pongas en una carpeta pública. Si lo pierdes, crea una clave nueva de la misma manera.
¿"Service account key creation is disabled"? Algunas organizaciones de Google Workspace bloquean la creación de claves con una política de organización. Pide a tu administrador de Google Workspace que permita crear claves en este proyecto, o crea el proyecto con una cuenta personal de Google.
Paso E: da la clave al plugin
- Vuelve a WordPress, Drive Documents, recuadro 1. Create the Google service account.
- En el campo JSON key, pega todo el contenido del archivo (ábrelo con cualquier editor de texto y cópialo todo, desde la primera
{hasta la última}), o haz clic en el botón de archivo bajo el campo y elige el archivo descargado. - Haz clic en Save the key.
El plugin comprueba la clave con Google al momento. Si funciona, ves: Key saved and accepted by Google. Now share the Drive folder with ... , as Viewer. (Clave guardada y aceptada por Google. Ahora comparte la carpeta de Drive con ... como Lector). El recuadro muestra entonces Connected to Google Drive con la dirección de la cuenta de servicio, que tiene este aspecto: name@project-id.iam.gserviceaccount.com.
Paso F: comparte la carpeta de Drive con la cuenta de servicio
La cuenta de servicio no puede ver nada de tu Drive hasta que compartes una carpeta con ella. Lo que compartes es lo que decide qué puede mostrar el portal.
- En la página del plugin, en el recuadro 2. Share the Drive folder, haz clic en Copy junto a la dirección de la cuenta de servicio.
- Abre Google Drive y busca la carpeta que quieres mostrar en el sitio.
- Haz clic derecho en la carpeta y elige Share (en algunas pantallas Share > Share).
- Pega la dirección de la cuenta de servicio en el campo Add people.
- Pon el rol Viewer (lector). Con Viewer basta: el plugin nunca escribe en Drive.
- Haz clic en Send (o Share). Si Google avisa de que la dirección es externa a tu organización, es lo esperado: confirma.
- Vuelve a WordPress y recarga la página Drive Documents. La carpeta aparece en la lista Folders shared with the service account.
Todo lo que hay dentro de la carpeta compartida es visible para el plugin, incluidas las subcarpetas y los archivos que añadas más adelante. Nada más de tu Drive lo es.
Comparte la carpeta, no un archivo. Compartir archivos sueltos no hace que aparezcan. En una unidad compartida, añade la dirección de la cuenta de servicio como miembro de la unidad compartida (la unidad aparece entonces en Browse, marcada como Shared drive), o comparte con esa dirección una carpeta dentro de la unidad.
Paso G: ejecuta la comprobación de conexión
- En el recuadro 1, bajo Connection check, haz clic en Run check.
- El plugin hace llamadas reales a Google y muestra lo que recibe. La última sección, Reading, te dice en lenguaje sencillo qué hacer.
Cuando todo está bien, dice: Everything works: the service account sees 1 shared folder. You can pick it with the Browse button in step 3. (Todo funciona: la cuenta de servicio ve 1 carpeta compartida. Puedes elegirla con el botón Browse del paso 3). Ahora sigue con Elegir quién ve cada carpeta.
Otros botones del recuadro 1
- Replace the key: pega una clave nueva para sustituir la guardada (por ejemplo, después de borrar la clave antigua en Google Cloud).
- Clear cache: olvida las listas guardadas por el plugin y vuelve a preguntar a Google.
- Remove the key: desconecta el sitio. El portal queda fuera de servicio hasta que se guarde una clave nueva.
Instalar en varios sitios de clientes
Cada sitio debería usar su propio proyecto de Google Cloud y su propia cuenta de servicio. No se comparte nada entre sitios y no hay que tocar nada en el código: cada sitio muestra su propia dirección con la que compartir la carpeta.
Escríbenos indicando el plugin, lo que has probado y lo que ves. Respondemos desde Italia, normalmente en un día laborable.