Google Calendar csatlakoztatása
Ez az útmutató bemutatja, hogyan csatlakoztathat Google Calendar naptárat egy munkaterülethez. Munkaterületenként működik: írásvédetten szinkronizálja az adott munkaterület eseményeit a Control Centerbe. A teljes képről a Naptár és ütemezés oldalon olvashat.
Fiók csatlakoztatása
Szekció neve “Fiók csatlakoztatása”- Nyissa meg a Naptár elemet az oldalsávon.
- Kattintson a Naptárfiók hozzáadása elemre a naptár oldalsávján. (Ugyanez a szakasz a Beállítások → Munkaterület → Profil és identitás alatt, a Google Calendar alpontban található.)
- Válassza ki az engedélyezés módját:
- A Control Center Google-alkalmazásának használata — nincs mit beállítani. Ez az alapértelmezett, ha a buildhez tartozik ilyen.
- Saját Google Cloud kliens használata — illessze be a saját projektje kliens-ID-ját és titkát (lásd: Saját Google-kliens használata).
- Kattintson a Google Calendar csatlakoztatása elemre. A párbeszédpanel egy rövid kódot és egy hivatkozást mutat a Google eszközoldalára.
- Nyissa meg ezt az oldalt bármely eszközön, adja meg a kódot, és hagyja jóvá a kért hozzáférést. A párbeszédpanel magától bezárul, és az eseményei elkezdenek szinkronizálódni.
Ezt a folyamatot nem az eszköze, hanem a szerver bonyolítja le, és ő őrzi a keletkező refresh tokent — ezért hagyja jóvá a kódot „bármely eszközön”, nem pedig kifejezetten ebben az alkalmazásban.
A fiók csak az aktív munkaterülethez kapcsolódik. Ha munkaterületet vált, az adott munkaterület naptárait fogja látni helyette.
A csatlakozási folyamat a calendar.readonly hatókört kéri, valamint az
e-mail-címét — ugyanezeket a hatóköröket a beépített alkalmazás és a beillesztett
kliens esetében is. A Control Center olvassa az eseményeket; nem hoz létre,
szerkeszt, töröl és nem válaszol meghívókra a Google-on.
Hogyan működik a szinkronizálás
Szekció neve “Hogyan működik a szinkronizálás”Az ütemezést a szerver birtokolja: kétpercenként bejárja az egyes munkaterületek csatlakoztatott fiókjait, és beírja az eseményeket a munkaterület adatbázisába. A kliensek soha nem beszélnek a Google-lel — azt olvassák, amit a szerver írt.
A bejárás inkrementális. Naptáranként az első kör egy gördülő ablakot húz be (60 nappal visszamenőleg, 90 nappal előre), és elmenti a Google szinkrontokenjét; a későbbi körök bemutatják ezt a tokent, és csak a megváltozott adatokat kapják meg — ez teszi megfizethetővé a kétperces ütemet. Az ablak 24 óránként, valamint minden alkalommal, amikor a Google érvényteleníti a tokent, egy teljes szinkronizálással horgonyzódik újra.
A refresh tokenek a szerveroldalon, a szerver adatkönyvtárában lévő
secrets.json fájlban élnek, amely csak tulajdonosi jogosultsággal (0600)
íródik — nem az operációs rendszer kulcskarikájában, és soha nem egy kliensen.
Több fiók csatlakoztatása
Szekció neve “Több fiók csatlakoztatása”Egy munkaterület több Google-fiókot is csatlakoztathat (például egy munkahelyit és egy személyeset). Ismételje meg mindegyiknél a csatlakoztatás lépéseit; az eseményeik ugyanabba a havi / heti / napirend nézetbe olvadnak össze. Minden fiók önállóan szinkronizál és frissül, és mindegyik külön leválasztható.
Lejárt fiók újracsatlakoztatása
Szekció neve “Lejárt fiók újracsatlakoztatása”Ha a Google véglegesen érvényteleníti egy fiók tokenjét (visszavont vagy rég lejárt munkamenet), a szinkronizálás leáll, és a Control Center egy Újracsatlakozás sávot jelenít meg a naptáron, valamint egy asztali értesítést. Kattintson az Újracsatlakozás elemre, és hagyjon jóvá egy új kódot; a sáv a következő sikeres szinkronizáláskor eltűnik.
Fiók leválasztása
Szekció neve “Fiók leválasztása”A naptár oldalsávján (vagy a Beállítások → Munkaterület → Profil és identitás alatt) kattintson a fiók Leválasztás elemére. Ez törli a szinkronizált eseményeit, és törli a szerveren tárolt tokenjeit.
Csatlakoztatás headless szerverről
Szekció neve “Csatlakoztatás headless szerverről”Egy grafikus felület nélküli szerver ugyanezt a fiókot a saját termináljából csatlakoztatja:
GOOGLE_OAUTH_CLIENT_ID=<id> GOOGLE_OAUTH_CLIENT_SECRET=<secret> \ cc_server calendar connect --data-dir <dir> --workspace <workspace-id>Kiír egy kódot és egy URL-t, megvárja a jóváhagyást, majd eltárolja a tokeneket, és a következő bejáráskor szinkronizál.
A forrásból készült build nem tartalmaz Google-klienst, ezért az ID és a
titok kötelező — állítsa be a GOOGLE_OAUTH_CLIENT_ID és a
GOOGLE_OAUTH_CLIENT_SECRET változót. Nincs --google-client-id kapcsoló (az
ismeretlen kapcsolókat a rendszer figyelmen kívül hagyja). A környezeti
változópár nélkül a parancs hiányzó kliensre utaló hibával lép ki.
Saját Google-kliens használata (forkok és saját hosztolás)
Szekció neve “Saját Google-kliens használata (forkok és saját hosztolás)”A kiadott buildek tartalmaznak Google-klienst, így a legtöbb felhasználó soha nem nyúl ehhez. Akkor használjon sajátot, ha forrásból buildel, saját szervert futtat, vagy szeretné, hogy a hozzájárulási képernyő az Ön projektjét nevezze meg.
- A Google Cloud Console felületén engedélyezze a Google Calendar API-t, és konfigurálja az OAuth hozzájárulási képernyőt, hozzáadva a
calendar.readonly,openidésemailhatókört. Amíg az alkalmazás nincs ellenőrizve, vegye fel magát tesztfelhasználóként. Acalendar.eventshozzáadása a hozzájárulási képernyőn nem teszi lehetővé az RSVP-t — a Control Center soha nem kéri ezt a hatókört. - Hozzon létre egy OAuth kliens-ID-t TV-k és korlátozott bemenetű eszközök alkalmazástípussal, és másolja ki a kliens-ID-t és a kliens titkot is.
- Adja meg őket vagy kapcsolatonként (válassza a Saját Google Cloud kliens használata lehetőséget a párbeszédpanelen), vagy szerver szinten a
GOOGLE_OAUTH_CLIENT_IDés aGOOGLE_OAUTH_CLIENT_SECRETváltozóval.
A szerver szinten megadott pár mindenhol felváltja a beépítettet, még a „Control Center Google-alkalmazásának használata” beállítás mögött is — így a saját szerverén ez a beállítás az Ön alkalmazását jelenti.
A kliens titok soha nem hagyja el a szervert: egyetlen RPC-válasz sem tartalmazza, és a szerver saját kliense útján csatlakoztatott fiók jelölőt tárol a pár másolata helyett, így a cseréje csak annyi, hogy új értékkel újraindítja a szervert.
Hibaelhárítás
Szekció neve “Hibaelhárítás”| Tünet | Valószínű ok |
|---|---|
| A párbeszédpanel nem kínál beépített lehetőséget | Ez a build nem tartalmaz Google-klienst (forrásból készült build), vagy a szervert a párnak csak az egyik felével indították. Mind az ID, mind a titok kötelező |
invalid_scope a folyamat indításakor |
A Naptár nincs engedélyezve az adott Cloud-projektben egy eszközkódos kliens számára. Használjon helyette loopback- vagy webkliens-projektet |
invalid_client a Google-től |
A kliens nem TV-k és korlátozott bemenetű eszközök típusú, vagy az ID és a titok különböző kliensekből származik |
| A jóváhagyás sikerül, de a szinkronizálás üres | A fiókja nincs tesztfelhasználóként felvéve a hozzájárulási képernyőn, vagy a calendar.readonly hatókört nem adták meg |
| A kód a jóváhagyás előtt lejár | Az eszközkódok rövid élettartamúak. Indítsa újra a csatlakoztatást egy új kódért |
| „Nem sikerült frissíteni a válaszát” egy RSVP-nél | Várható: a csatlakozási folyamat soha nem kéri a calendar.events hatókört |
| A szinkronizálás leáll, és a szervernaplóban frissítési figyelmeztetés jelenik meg | A fiókot olyan klienssel csatlakoztatták, amely már nincs konfigurálva. Csatlakoztassa újra a fiókot, vagy állítsa vissza azt a kliens-ID-t és titkot |
Kapcsolódó útmutatók
Szekció neve “Kapcsolódó útmutatók”- Megbeszélés rögzítése és összefoglalása: alakítson egy eseményt felvétellé
- Headless szerver futtatása: hol élnek a tokenek és a szinkronizálási ütemezés
- GitHub-integráció beállítása