|
|
||
|---|---|---|
| .. | ||
| OutlookCalendar.php | ||
| auth.php | ||
| calendar.php | ||
| callback.php | ||
| config.php | ||
| readme.md | ||
readme.md
Outlook-Kalender Integration mit PHP
Dieses Projekt bietet eine einfache PHP-Integration zur Verwaltung von Terminen im Microsoft Outlook-Kalender über die Microsoft Graph API.
Funktionen
- OAuth2-Authentifizierung über Microsoft Identity Plattform
- Automatische Token-Aktualisierung (Refresh Token)
- Erstellung, Bearbeitung und Löschen von Kalender-Terminen
- Speicherung von Token pro Benutzer in
tokens.json
Projektstruktur
calendar.php: Einstiegspunkt zur Erstellung eines Beispiel-Termins.OutlookCalendar.php: Klasse für Interaktionen mit der Microsoft Graph API (Termine erstellen, aktualisieren, löschen, Token erneuern).config.php: Konfigurationsdatei mit Client-ID, Secret, Redirect-URL und weiteren API-relevanten Parametern.
Voraussetzungen
- PHP 7.4+
- cURL-Erweiterung
- Microsoft Azure AD App-Registrierung
Installation
-
Repository klonen
git clone <repo-url> cd <projektordner> -
Microsoft App registrieren
- Gehe zu Microsoft Azure App Registrations
- Registriere eine neue App
- Konfiguriere:
- Redirect URI: z. B.
https://deine-domain.de/callback.php - API-Berechtigungen:
offline_access,user.read,calendars.readwrite
- Redirect URI: z. B.
- Kopiere die Client-ID und das Client-Secret
-
Konfiguration anpassen Bearbeite die Datei
config.php:return [ 'client_id' => '<Deine Client-ID>', 'client_secret' => '<Dein Client-Secret>', 'redirect_uri' => '<Deine Redirect-URL>', 'scopes' => 'offline_access user.read calendars.readwrite', ... ]; -
Authentifizierung implementieren Stelle sicher, dass ein separater Login-Flow (
auth.php) den OAuth2-Code verarbeitet und Tokens speichert (nicht im Projekt enthalten, aber notwendig).
Beispiel: Termin erstellen
-
Nach erfolgreicher Authentifizierung kannst du
calendar.phpmit dem Parameteremailaufrufen:https://deine-domain.de/calendar.php?email=example@example.com -
Dadurch wird ein Beispieltermin mit Start- und Endzeit im Outlook-Kalender des Benutzers erstellt.
Hinweise
- Die Tokens werden in der Datei
tokens.jsongespeichert. - Tokens werden automatisch aktualisiert, wenn sie abgelaufen sind.
- Die Datei
calendar.phpenthält ein Beispiel für die Event-Erstellung. Für produktive Nutzung sollte eine validierte Benutzerinteraktion erfolgen.
Lizenz
MIT