Google Calendar
Συνδέστε το Google Calendar με τα ελάχιστα απαιτούμενα permissions, δοκιμάστε τον συγχρονισμό και διαχειριστείτε σωστά αποσύνδεση, errors και event mappings.
Πριν συνδέσετε το Google Calendar
- Η άδεια Nutrition Hub είναι ενεργή.
- Το doctor account και το timezone έχουν ρυθμιστεί σωστά.
- Υπάρχουν υπηρεσίες και ωράριο ραντεβού.
- Η production redirect URI ταιριάζει ακριβώς με το Google OAuth client.
- Οι δημόσιες σελίδες homepage, privacy και terms είναι προσβάσιμες χωρίς login ή challenge.
Η εφαρμογή πρέπει να ζητά μόνο openid, userinfo.email και calendar.events, εφόσον αυτά καλύπτουν την πραγματική λειτουργία.
Σύνδεση βήμα-βήμα
Ανοίξτε Settings → Google Calendar
Η σύνδεση πρέπει να ξεκινά από εξουσιοδοτημένο doctor account.
Πατήστε Connect Google
Δημιουργείται signed state token δεμένο με τον σωστό tenant και χρήστη.
Επιλέξτε Google account
Στη Google ελέγξτε το όνομα εφαρμογής και τα permissions πριν εγκρίνετε.
Ολοκληρώστε το OAuth consent
Μετά το callback, το Nutrition Hub επαληθεύει το state και αποθηκεύει προστατευμένα credentials.
Επιλέξτε ημερολόγιο
Ορίστε το calendar που θα χρησιμοποιείται για appointment events.
Δημιουργήστε test appointment
Επιβεβαιώστε ότι δημιουργείται το σωστό event με timezone, διάρκεια και ουδέτερο τίτλο.
Πώς λειτουργεί ο συγχρονισμός
| Ενέργεια Nutrition Hub | Google Calendar | Τι αποθηκεύεται |
|---|---|---|
| Νέο επιβεβαιωμένο ραντεβού | Δημιουργία event | Appointment ID και Google event ID. |
| Αλλαγή ώρας ή διάρκειας | Update του υπάρχοντος event | Τελευταίο sync και status. |
| Ακύρωση | Update ή delete ανά ρύθμιση | Cancellation result. |
| Conflict check | Έλεγχος σχετικών events | Μόνο το αναγκαίο αποτέλεσμα διαθεσιμότητας. |
Αποφύγετε διάγνωση, μετρήσεις ή διατροφικό ιστορικό σε τίτλο και περιγραφή Google Calendar.
Αποσύνδεση και ανάκληση
Disconnect Google
Settings → Google Calendar → Disconnect. Σταματά ο νέος συγχρονισμός και αφαιρούνται τα ενεργά credentials.
Remove access
Από τις ρυθμίσεις ασφάλειας Google αφαιρέστε την πρόσβαση της εφαρμογής Nutrition Hub.
Η αποσύνδεση δεν διαγράφει αυτόματα events που έχουν ήδη δημιουργηθεί. Αυτά μπορούν να διαγραφούν από το Google Calendar ή μέσω ελεγχόμενης διαδικασίας cleanup.
Συχνά σφάλματα
redirect_uri_mismatch
Η redirect URI του plugin δεν ταιριάζει ακριβώς με την URI στο Google Cloud Console. Ελέγξτε scheme, domain, path και trailing slash.
Η σύνδεση ολοκληρώνεται αλλά δεν δημιουργείται event
Ελέγξτε calendar ID, granted scopes, timezone, event mapping και το τελευταίο sync error.
invalid_grant ή expired token
Το refresh token μπορεί να έχει ανακληθεί ή λήξει. Κάντε Disconnect και νέα authorization.
Το event δημιουργείται δύο φορές
Ελέγξτε idempotency, appointment-to-event mapping και αν εκτελούνται παράλληλα δύο cron jobs.
Συνεχίστε με τα επόμενα βήματα
Ραντεβού και online booking
Συνεχίστε τη ρύθμιση του Nutrition Hub με τη σωστή σειρά.