diff --git a/AddOn/Calender_Office365_User/readme.md b/AddOn/Calender_Office365_User/readme.md new file mode 100644 index 00000000..742ea70b --- /dev/null +++ b/AddOn/Calender_Office365_User/readme.md @@ -0,0 +1,72 @@ +# 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 + +1. **Repository klonen** + ```bash + git clone + cd + ``` + +2. **Microsoft App registrieren** + - Gehe zu [Microsoft Azure App Registrations](https://portal.azure.com/) + - Registriere eine neue App + - Konfiguriere: + - **Redirect URI**: z. B. `https://deine-domain.de/callback.php` + - **API-Berechtigungen**: `offline_access`, `user.read`, `calendars.readwrite` + - Kopiere die **Client-ID** und das **Client-Secret** + +3. **Konfiguration anpassen** + Bearbeite die Datei `config.php`: + ```php + return [ + 'client_id' => '', + 'client_secret' => '', + 'redirect_uri' => '', + 'scopes' => 'offline_access user.read calendars.readwrite', + ... + ]; + ``` + +4. **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 + +1. Nach erfolgreicher Authentifizierung kannst du `calendar.php` mit dem Parameter `email` aufrufen: + ``` + https://deine-domain.de/calendar.php?email=example@example.com + ``` + +2. Dadurch wird ein Beispieltermin mit Start- und Endzeit im Outlook-Kalender des Benutzers erstellt. + +## Hinweise + +- Die Tokens werden in der Datei `tokens.json` gespeichert. +- Tokens werden automatisch aktualisiert, wenn sie abgelaufen sind. +- Die Datei `calendar.php` enthält ein Beispiel für die Event-Erstellung. Für produktive Nutzung sollte eine validierte Benutzerinteraktion erfolgen. + +## Lizenz + +MIT \ No newline at end of file