# Google Naptár: haladó beállítás saját Google-alkalmazással

> A Google Naptár bekötése saját OAuth-hitelesítő adatokkal a Google Cloud Console-ban: projekt, API, OAuth-kliens, átirányítási URI, közzététel.

A haladó beállításnál a Google Cloud Console-ban saját OAuth-hitelesítő adatokat hozol létre, és ezeket adod meg az Ameliában. Akkor érdemes ezt választani, ha teljes kontrollt szeretnél a hitelesítés, a megjelenés vagy a szervezeti Google-fiókok felett. A beállítás több lépés, de egyszeri: ha jól csinálod, utána megbízhatóan szinkronizál.

## A Google „nincs ellenőrizve” figyelmeztetése

A haladó beállításnál a saját Google-alkalmazásodat hozod létre, tehát te vagy az integráció fejlesztője, nem az Amelia. Mivel az alkalmazás új és a Google nem ellenőrizte, a munkavállalók naptárának csatlakoztatásakor a Google kiírhatja, hogy az alkalmazást nem ellenőrizte. Ez várt üzenet, és nem akadályozza az integráció működését, csupán azt jelzi, hogy az alkalmazás nem ment át a Google nem kötelező ellenőrzésén. Nyugodtan folytathatod: válaszd a **Speciális** (Advanced) hivatkozást, majd az alkalmazásod megnevezésére kattints („Go to …”), hiszen a hitelesítő adatokat te hoztad létre.

Ha szeretnéd, benyújthatod az alkalmazást a Google ellenőrzésére is a Google Cloud Console-ban, de az Amelia normál működéséhez nem szükséges. Az ellenőrzés lépéseit lásd lejjebb.

A Google gyakran frissíti és átrendezi a Google Cloud Console felületét. A menük nevei és az útvonalak változhatnak, a beállítás lényegi lépései viszont ugyanazok maradnak.

## Az Amelia előkészítése

A haladó beállítás előtt a szabványos Google-kapcsolat nem lehet aktív.

1. Ha korábban a **Bejelentkezés a Google-lel** módszert használtad, előbb szakítsd meg a kapcsolatot (**Fiók leválasztása**). Ez a módszer letiltja a **Client ID** és a **Kliens titkos kulcsa** mezőt, így kézzel nem lehetne kitölteni.
2. Nyisd meg a **Funkciók és integrációk → Integrációk → Google-naptár és Google Meet → Beállítás** oldalt, és válaszd az **Általános** lapot.

Itt fogod megadni a Google Cloud Console-ban létrehozott adatokat.

A kapcsolat létrejötte után a munkavállalók a [Google Naptár beállításaiban](https://hub.hellowp.io/hu/plugins/ameliabooking/integraciok-google-naptar-beallitasok/) leírt szabályok szerint csatlakoztathatják a naptáraikat: legfeljebb 6 Google-fiókot köthetnek be, 1 naptárat választhatnak az események létrehozásához, és legfeljebb 6 naptárat használhatnak a foglalt események ellenőrzésére és az elérhetőség lezárására. Ebben a beállításban a naptárkapcsolatokat a munkavállalók kezelik, az adminisztrátor nem rendel hozzájuk naptárat.

## Mit kell beállítani a Google Cloud Console-ban?

A beállítás mindig ezekből a lépésekből áll, a felület változásaitól függetlenül:

1. **Google Cloud-projekt létrehozása vagy kiválasztása.** Új projektet is létrehozhatsz, vagy használhatsz egy meglévőt. A projekt tartalmazza az Amelia által használt API-kat és hitelesítő adatokat.
2. **A Google Calendar API engedélyezése.** Nélküle az Amelia nem tud eseményeket létrehozni és kezelni.
3. **OAuth 2.0 hitelesítő adatok létrehozása** webalkalmazáshoz. Ezekkel azonosítja magát az Amelia a Google felé.
4. **Az Amelia átirányítási URI-jának megadása.** A Google átirányítási címet kér a biztonságos engedélyezéshez. Másold ki az **Átirányítási URI** mező értékét az Amelia Google-beállításaiból, és illeszd be a Google Cloud Console OAuth-beállításába.
5. **A Client ID és a Client secret másolása az Ameliába.** A létrehozás után másold be őket az **Általános** lap megfelelő mezőibe.
6. **Az alkalmazás közzététele.** Az OAuth-alkalmazást közzé kell tenni, hogy a Google valódi felhasználóknak is engedélyezze a hitelesítést. A közzé nem tett alkalmazás csak tesztfelhasználókkal működik, vagy hibázik a munkavállalók csatlakoztatásakor.

## Új Google Cloud-projekt létrehozása

1. Nyisd meg a Google Cloud Console-t.
2. Kattints a bal felső sarokban a projektválasztóra (a „Google Cloud” logó mellett), vagy nyomd meg a CTRL+O billentyűkombinációt.
3. A felugró ablak jobb felső sarkában kattints a **NEW PROJECT** gombra.
4. Válaszd a **No Organisation** lehetőséget, ha ingyenes Google-fiókot használsz, vagy a cégprofilodat, ha Google Workspace-t.
5. Add meg a projekt nevét (például „Amelia GCal Integration”), és kattints a **CREATE** gombra.

Üzleti fiókoknál mindenképp a cég szervezetét válaszd. Személyes fióknál a **No Organisation** az alapértelmezés.

## A Google Calendar API engedélyezése

1. A projekt létrehozása után kattints a jobb felső értesítésben a **Select Project** gombra (vagy nyisd meg újra a projektválasztót CTRL+O-val, és válaszd ki az új projektet).
2. Nyisd meg a menüt (☰ a bal felső sarokban, vagy nyomd meg a „.” billentyűt).
3. Menj az **APIs & Services → Library** oldalra.
4. A keresőbe írd be: `google calendar api`.
5. Kattints a **Google Calendar API** találatra, majd az **Enable** gombra.

## OAuth-hitelesítő adatok létrehozása

1. Az API engedélyezése után kattints a jobb felső sarokban a **Create Credentials** gombra. Másik módon: **APIs & Services → Credentials**, majd a képernyő közepén a **+ Create Credentials** legördülőben válaszd az **OAuth client ID** lehetőséget.
2. Válaszd ki a **Google Calendar API** és a **User Data** lehetőséget, majd kattints a **Next** gombra.
3. Add meg az alkalmazás nevét (**App name**, például „Amelia GCal”).
4. A **User support email** és a **Developer contact information** mezőbe is a saját e-mail-címedet írd.
5. Kattints a **Save and Continue** gombra.

## Az OAuth Client ID megadása

A következő lépésen (**Scopes**) ne módosíts semmit, hacsak nem akarod benyújtani az alkalmazást ellenőrzésre: kattints újra a **Save and Continue** gombra. Ezután az OAuth Client ID következik.

1. Az **Application type** mezőben válaszd a **Web application** típust.
2. Adj neki nevet (például „Amelia GCal”).
3. Görgess az **Authorized redirect URIs** részhez, kattints a **+ Add URI** gombra, és illeszd be az **Átirányítási URI**-t az Ameliából (**Funkciók és integrációk → Integrációk → Google-naptár és Google Meet → Beállítás → Általános**). Például:

   ```text
   https://sajatoldalad.hu/wp-admin/admin.php?page=wpamelia-employees
   ```

4. Ha a webhely előoldali munkavállalói felületét is használod, kattints újra a **+ Add URI** gombra, és add hozzá a felület teljes címét is (például `https://sajatoldalad.hu/munkatars-felulet/`). A végén a perjel (`/`) is kell.
5. Kattints a **Create** gombra.

Fontos:

- Az **Authorized redirect URIs** részhez add hozzá a címet, ne az **Authorized JavaScript origins** részhez.
- A webhelyednek HTTPS-t kell használnia, a HTTP nem működik.
- Ne hagyd az alkalmazást **Testing** módban: ilyenkor a munkavállalók kapcsolata 1 vagy 2 naponta megszakad. Tedd közzé (**Production**).

### Nem kötelező: az alkalmazás beküldése Google-ellenőrzésre

Ha el akarod tüntetni a „nincs ellenőrizve” figyelmeztetést a munkavállalók csatlakozásakor, benyújthatod az OAuth-alkalmazást a Google Cloud Console-ban ellenőrzésre. Az OAuth-hozzájárulási képernyőn ehhez ezt a két jogosultsági kört kell beállítani:

- `/auth/calendar.readonly`
- `/auth/calendar.events`

Az ellenőrzés nem automatikus, teljes egészében a Google végzi, és kérhet további információt arról, hogyan használja az alkalmazás a Google-adatokat. Az ellenőrzés nem kötelező: nélküle is minden normálisan működik, a Google csak figyelmeztetést jelenít meg az engedélyezéskor.

## A Client ID és a Client Secret megszerzése

Amíg a hitelesítő adatok képernyőn vagy, másold ki a **Client ID**-t, és illeszd be az Ameliában a **Funkciók és integrációk → Integrációk → Google-naptár és Google Meet → Beállítás → Általános** lap **Client ID** mezőjébe, majd kattints a **Done** gombra a Google Cloud Console-ban.

Ha ezt a lépést kihagytad, a Client ID a titkos kulccsal együtt később is elérhető:

1. Nyisd meg a menüt (☰ vagy a „.” billentyű).
2. Menj az **APIs & Services → Credentials** oldalra.
3. Az **OAuth 2.0 Client IDs** alatt kattints az alkalmazásod nevére.
4. Jobbra látod a Client ID-t és az elrejtett Client secret értéket (kattints a másolás gombra).
5. Illeszd be mindkettőt az Amelia **Általános** lapjának **Client ID** és **Kliens titkos kulcsa** mezőjébe, majd kattints a **Mentés** gombra.

## Az alkalmazás közzététele

1. Nyisd meg a menüt (☰ vagy a „.” billentyű).
2. Menj az **APIs & Services → OAuth consent screen → Audience** oldalra.
3. A **Publishing Status** alatt kattints a **Publish app** gombra.
4. A „Push to production?” kérdésnél hagyd jóvá.

Ezzel az Amelia össze van kötve a Google Cloud-dal.

## Tudnivalók

- A haladó beállítás azoknak való, akiknek teljes kontrollra van szükségük az OAuth-hitelesítő adatok vagy a márkázott Google-engedélyező képernyők felett.
- Az átirányítási URI-nak pontosan egyeznie kell. Bármilyen eltérés megakadályozza a hitelesítést.
- A kapcsolat létrejötte után a munkavállalók a Google Naptár beállításainál leírt szabályok szerint kötik be a naptáraikat: legfeljebb 6 Google-fiók, 1 naptár az események létrehozásához és legfeljebb 6 naptár a foglalt események ellenőrzéséhez.
- A beállítás egyszeri. Nem kell megismételni, hacsak a hitelesítő adatokat vissza nem vonják, vagy a domain meg nem változik.
- A haladó beállítás localhoston nem működik, mert a Google nem engedi a `http://` címet az átirányítási URI mezőkben. Localhoston a [szabványos csatlakozást](https://hub.hellowp.io/hu/plugins/ameliabooking/integraciok-google-naptar-szabvanyos/) használd.
