Google Calendar & Google Meet

Integrace s Google Calendar umožňuje obousměrnou synchronizaci: LockMyCal automaticky čte vaše existující události pro kontrolu obsazenosti a při každé nové rezervaci vytvoří událost v kalendáři.

Videohovory Google Meet jsou samostatné připojení v sekci Integrace → Video – obě připojení ale používají stejný projekt a OAuth klienta popsaný níže.


1. Vytvoření projektu v Google Cloud Console

  1. Otevřete Google Cloud Console a přihlaste se.
  2. Vytvořte nový projekt (např. LockMyCal Calendar).
  3. V levém menu přejděte do APIs & Services -> Enabled APIs & Services a klikněte na + ENABLE APIS AND SERVICES.
  4. Vyhledejte a postupně aktivujte:
    • Google Calendar API
    • Google Meet REST API (jen pokud chcete používat Google Meet)

  1. V levém menu přejděte do APIs & Services -> OAuth consent screen.
  2. Zvolte typ uživatelů:
    • Internal (pokud používáte Google Workspace a chcete přístup jen pro svou firmu).
    • External (pro běžné Google / Gmail účty).
  3. Vyplňte App name (např. LockMyCal), User support email a Developer contact email.
  4. V kroku Scopes přidejte tyto rozsahy oprávnění:
    • .../auth/calendar.events (čtení a zápis událostí)
    • .../auth/calendar.calendarlist.readonly (seznam vašich kalendářů)
    • .../auth/meetings.space.created (jen pro Google Meet)
    • email a profile (jen pro přihlašování účtem Google)

3. Vytvoření OAuth 2.0 Client ID

  1. Přejděte do APIs & Services -> Credentials -> + CREATE CREDENTIALS -> OAuth client ID.
  2. Jako Application type vyberte Web application.
  3. Jako Name zadejte LockMyCal Server.
  4. V sekci Authorized redirect URIs přidejte přesné URI adresy podle vaší domény:
    • Synchronizace kalendáře: https://calendar.vasedomena.cz/auth/google/calendar/callback
    • Videokonference Meet: https://calendar.vasedomena.cz/auth/google/video/callback
    • Přihlašování SSO (volitelné): https://calendar.vasedomena.cz/auth/google/callback
  5. Uložte a zkopírujte vygenerované Client ID a Client Secret.

4. Konfigurace v LockMyCal

Vložte získané údaje do vašeho souboru .env:

GOOGLE_CLIENT_ID=1234567890-abcdefgh.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=GOCSPX-vlozte_vas_client_secret
GOOGLE_STATE_SECRET=nahodny_retezec   # openssl rand -base64 32
# Jen pokud chcete i přihlašování účtem Google:
ENABLE_GOOGLE_AUTH=true

Po restartu kontejneru (docker compose up -d) přejděte v dashboardu do Integrace → Kalendáře → Připojit kalendář a zvolte Google.