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