From 76a236ac37aec49f4847620c193211dedacf0453 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 22 Oct 2025 19:05:16 +0000 Subject: [PATCH] =?UTF-8?q?Google=20Calendar=20Sync=20graceful=20handling?= =?UTF-8?q?=20f=C3=BCr=20fehlende=20Credentials?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Graceful Fallback wenn token.pickle nicht vorhanden - Warning statt Exception bei fehlenden Google Credentials - Sync wird übersprungen statt zu crashen --- .../advoware_calendar_sync_step.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/bitbylaw/steps/advoware_cal_sync/advoware_calendar_sync_step.py b/bitbylaw/steps/advoware_cal_sync/advoware_calendar_sync_step.py index f86ace66..c934549f 100644 --- a/bitbylaw/steps/advoware_cal_sync/advoware_calendar_sync_step.py +++ b/bitbylaw/steps/advoware_cal_sync/advoware_calendar_sync_step.py @@ -38,7 +38,8 @@ async def get_google_service(): else: # Hier würde normalerweise der OAuth Flow laufen # Für Server-Umgebung brauchen wir Service Account oder gespeicherte Credentials - raise Exception("Google OAuth Credentials nicht gefunden. Bitte token.pickle bereitstellen.") + context.logger.warning("Google OAuth Credentials nicht gefunden. Bitte token.pickle bereitstellen oder Google Calendar Sync überspringen.") + return None # Token speichern with open('token.pickle', 'wb') as token: @@ -236,6 +237,16 @@ async def handler(req, context): # Google Calendar Service initialisieren service = await get_google_service() + if not service: + context.logger.warning("Google Calendar Service nicht verfügbar. Sync wird übersprungen.") + return { + 'status': 200, + 'body': { + 'status': 'skipped', + 'reason': 'Google Calendar credentials not configured', + 'total_synced': 0 + } + } # Alle Mitarbeiter abrufen employees = await get_advoware_employees(context)