Kernl

Conectar Google

Kernl puede leer tus Contactos, tu Calendario, tus Tareas y tu Gmail de Google, y mandar mails desde Gmail. Para eso entra a Google con un cliente OAuth que creás vos en tu propio proyecto de Google Cloud. Tus datos van de Google directo a tu computadora. Nada pasa por los servidores de Kernl.

Lleva unos diez minutos, una sola vez:

  1. Creá un proyecto de Google Cloud y activá las APIs.
  2. Configurá la pantalla de consentimiento.
  3. Creá el cliente OAuth con la URI de retorno de Kernl.
  4. Pegá el ID y el secreto en Kernl y conectá.

Crear un proyecto de Google Cloud

  1. Entrá a console.cloud.google.com con la cuenta de Google que querés conectar.
  2. En el selector de proyectos de arriba, hacé clic en Nuevo proyecto. Ponele un nombre, por ejemplo Kernl, y hacé clic en Crear.
  3. Antes de seguir, fijate que el proyecto nuevo esté elegido en el selector.

Activar las APIs

Google solo responde las APIs que activás en el proyecto. En APIs y servicios → Biblioteca, buscá cada una y hacé clic en Habilitar:

API Para qué la usa Kernl
Gmail API leer y mandar mails
Google Calendar API tus eventos
People API tus contactos
Google Tasks API tus listas de tareas

Activá solo lo que necesites. Si después Kernl avisa "… API has not been used in project … or it is disabled", esa API está apagada: activala acá y probá de nuevo.

La pantalla de consentimiento es lo que muestra Google cuando Kernl pide acceso.

  1. Andá a APIs y servicios → Pantalla de consentimiento de OAuth (en las consolas nuevas, Google Auth Platform).
  2. En Tipo de usuario, elegí Externo. Completá el nombre de la app (por ejemplo Kernl), tu mail como correo de asistencia y como contacto del desarrollador, y guardá.
  3. En Público (o Usuarios de prueba), agregá tu propia dirección de Google.
  4. Publicá la app (Publicar app → En producción). Mientras siga en Prueba, Google vence la conexión cada 7 días y tenés que reconectar. Publicarla no la hace pública: solo la puede usar quien tenga el ID de cliente. Para uso propio no necesitás la verificación de Google.

Crear el cliente OAuth

  1. Andá a APIs y servicios → Credenciales y hacé clic en Crear credenciales → ID de cliente de OAuth.
  2. En Tipo de aplicación, elegí Aplicación web.
  3. En URIs de redireccionamiento autorizados, hacé clic en Agregar URI y pegá la de tu instalación:
Cómo corrés Kernl URI de retorno
Instalador de Linux, macOS o Windows http://localhost:3086/auth/google/callback
Docker http://localhost:3087/auth/google/callback

Si cambiaste DASHBOARD_PORT, usá ese puerto. Kernl también muestra la URI exacta en Configuración → Integraciones, en la tarjeta de la cuenta de Google, con un botón Copiar.

  1. Hacé clic en Crear. Google te muestra el ID de cliente (termina en .apps.googleusercontent.com) y el Secreto del cliente (empieza con GOCSPX-). Dejá esa ventana abierta.

Pegar el ID y el secreto en Kernl

  1. Abrí el dashboard. En la barra de la izquierda, hacé clic en Sistema, después en Configuración en las pestañas de arriba, y en Integraciones en la lista. También podés ir directo a http://localhost:3086/settings?section=integrations.
  2. En Claves de integración, pegá el ID en ID de cliente OAuth de Google y el secreto en Secreto de cliente OAuth de Google.
  3. Hacé clic en Guardar. No hace falta reiniciar Kernl.

Conectar tu cuenta

  1. Arriba de Configuración → Integraciones, la tarjeta Cuenta de Google dice Sin conectar. Hacé clic en Conectar Google.
  2. Elegí la cuenta de Google que agregaste como usuario en la pantalla de consentimiento.
  3. Si Google avisa "Google no verificó esta app", hacé clic en Configuración avanzada y después en Ir a Kernl (no seguro). Es tu propia app: el aviso solo significa que Google no la revisó.
  4. Aceptá los permisos que pide Kernl y hacé clic en Continuar.
  5. Google te devuelve a la misma página. La tarjeta dice Conectado y muestra tu dirección.

Kernl empieza a sincronizar en segundo plano. Para usar otra cuenta de Google más adelante, hacé clic en Cambiar cuenta en la tarjeta.

La tarjeta de la cuenta de Google llega en la próxima versión de Kernl. Hasta entonces, conectá desde Correo: entrá a http://localhost:3086/mail/accounts, hacé clic en + Add account, elegí Gmail como proveedor y hacé clic en Connect Google →.

Clave de Google Places (opcional)

Los agentes que buscan negocios en Google Maps usan una clave de API aparte, no tu cuenta.

  1. En el mismo proyecto de Google Cloud, activá Places API (New) en la Biblioteca.
  2. En Credenciales, hacé clic en Crear credenciales → Clave de API. Después editá la clave y, en Restricciones de API, permití solo Places API (New).
  3. En Kernl, pegala en Configuración → Integraciones → Claves de integración → Clave de Google Places y hacé clic en Guardar.

Google cobra Places por uso, con un cupo gratis por mes. Si querés ponerle un tope, configurá una alerta de presupuesto en Google Cloud.

Si algo falla

"Error 400: redirect_uri_mismatch": la URI de retorno de Google Cloud no coincide letra por letra con la de Kernl. Copiala de la tarjeta de la cuenta de Google y pegala en tu cliente OAuth. Fijate que no diga https en vez de http, que tenga el puerto y que no termine con una / de más.

"Acceso bloqueado: … no completó el proceso de verificación de Google": la cuenta que elegiste no está en la lista de usuarios de la pantalla de consentimiento. Agregala en Público, o publicá la app.

La tarjeta dice Vencido, o Kernl avisa "Token has been expired or revoked": Google cortó la conexión. Pasa cada 7 días mientras la app está en Prueba, y también si cambiás la contraseña o le sacás el acceso a Kernl desde tu cuenta de Google. Hacé clic en Reconectar Google. Para que no venza cada semana, publicá la app.

Docker: después de aceptar caés en una página que no carga, en localhost:3087: tu Kernl es anterior a la versión que responde en ese puerto. Cambiá 3087 por 3086 en la barra de direcciones y apretá Enter. La conexión se completa igual.

"… API has not been used in project … or it is disabled": activá esa API en APIs y servicios → Biblioteca, esperá un minuto y probá de nuevo.

"Google OAuth credentials are missing": el ID o el secreto de cliente está vacío. Volvé a pegar el ID y el secreto.