Add Readme Datei

This commit is contained in:
olaf.braun 2025-06-25 19:35:53 +02:00
parent f935ae9889
commit 6954dcfff3
1 changed files with 72 additions and 0 deletions

View File

@ -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 <repo-url>
cd <projektordner>
```
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' => '<Deine Client-ID>',
'client_secret' => '<Dein Client-Secret>',
'redirect_uri' => '<Deine Redirect-URL>',
'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