OAuth Integration

Google Calendar

Συνδέστε το Google Calendar με τα ελάχιστα απαιτούμενα permissions, δοκιμάστε τον συγχρονισμό και διαχειριστείτε σωστά αποσύνδεση, errors και event mappings.

OAuth 2.0calendar.eventsEvent syncRevocable access
Prerequisites

Πριν συνδέσετε το Google Calendar

  • Η άδεια Nutrition Hub είναι ενεργή.
  • Το doctor account και το timezone έχουν ρυθμιστεί σωστά.
  • Υπάρχουν υπηρεσίες και ωράριο ραντεβού.
  • Η production redirect URI ταιριάζει ακριβώς με το Google OAuth client.
  • Οι δημόσιες σελίδες homepage, privacy και terms είναι προσβάσιμες χωρίς login ή challenge.
Ελάχιστα permissions

Η εφαρμογή πρέπει να ζητά μόνο openid, userinfo.email και calendar.events, εφόσον αυτά καλύπτουν την πραγματική λειτουργία.

Connect Google

Σύνδεση βήμα-βήμα

1

Ανοίξτε Settings → Google Calendar

Η σύνδεση πρέπει να ξεκινά από εξουσιοδοτημένο doctor account.

2

Πατήστε Connect Google

Δημιουργείται signed state token δεμένο με τον σωστό tenant και χρήστη.

3

Επιλέξτε Google account

Στη Google ελέγξτε το όνομα εφαρμογής και τα permissions πριν εγκρίνετε.

4

Ολοκληρώστε το OAuth consent

Μετά το callback, το Nutrition Hub επαληθεύει το state και αποθηκεύει προστατευμένα credentials.

5

Επιλέξτε ημερολόγιο

Ορίστε το calendar που θα χρησιμοποιείται για appointment events.

6

Δημιουργήστε test appointment

Επιβεβαιώστε ότι δημιουργείται το σωστό event με timezone, διάρκεια και ουδέτερο τίτλο.

Event synchronization

Πώς λειτουργεί ο συγχρονισμός

Ενέργεια Nutrition HubGoogle CalendarΤι αποθηκεύεται
Νέο επιβεβαιωμένο ραντεβούΔημιουργία eventAppointment ID και Google event ID.
Αλλαγή ώρας ή διάρκειαςUpdate του υπάρχοντος eventΤελευταίο sync και status.
ΑκύρωσηUpdate ή delete ανά ρύθμισηCancellation result.
Conflict checkΈλεγχος σχετικών eventsΜόνο το αναγκαίο αποτέλεσμα διαθεσιμότητας.
Μην γράφετε κλινικά δεδομένα στο event.

Αποφύγετε διάγνωση, μετρήσεις ή διατροφικό ιστορικό σε τίτλο και περιγραφή Google Calendar.

Disconnect and revoke

Αποσύνδεση και ανάκληση

Nutrition Hub

Disconnect Google

Settings → Google Calendar → Disconnect. Σταματά ο νέος συγχρονισμός και αφαιρούνται τα ενεργά credentials.

Google Account

Remove access

Από τις ρυθμίσεις ασφάλειας Google αφαιρέστε την πρόσβαση της εφαρμογής Nutrition Hub.

Η αποσύνδεση δεν διαγράφει αυτόματα events που έχουν ήδη δημιουργηθεί. Αυτά μπορούν να διαγραφούν από το Google Calendar ή μέσω ελεγχόμενης διαδικασίας cleanup.

Troubleshooting

Συχνά σφάλματα

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 με τη σωστή σειρά.