Add Readme Datei
This commit is contained in:
parent
f935ae9889
commit
6954dcfff3
|
|
@ -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
|
||||||
Loading…
Reference in New Issue