# Vorwort
Microsoft Graph ist derzeit der modernste einheitliche Endpunkt für den Zugriff auf Daten in Microsoft 365 - einschließlich Postfächern und Kalendern. Mit der aktuellen Version von welcome-soft ist es Ihnen möglich, von den Vorteilen diese neuen Schnittstelle zu profitieren.
# Technische Rahmenbedingungen
## Voraussetzungen
- Es wird Internetzugriff benötigt
- Es werden Zugangsdaten zu Microsoft 365 benötigt (nachfolgend "das Benutzerkonto" genannt). Dieses Benutzerkonto benötigt vollständigen Lesezugriff auf die zu importierenden Kalender, sollte idealerweise nicht zu einem realen Anwender gehören (--> Funktionspostfach), und das Passwort darf sich nicht zu häufig ändern (--> Token werden ungültig).
> [!Important] Zugangsdaten griffbereit halten
> Diese Zugangsdaten werden später noch einmal bei der Einrichtung der `Datapump` benötigt. Insbesondere falls Sie von einem externen IT-Dienstleiter betreut werden, halten Sie bitte Benutzername und Passwort **auch nach** der serverseitigen Einrichtung von Microsoft 365 griffbereit!
- Eine App muss mit notwendigen Rechten registriert werden, mehr dazu unten
- In gemeinsam genutzten Kalender darf die [[Organisator wird im Betreff angezeigt, oder Betreff fehlt|serverseitige Anonymisierung]] nicht aktiv sein
- die E-Mail Adressen und Namen der zu importierenden Raumpostfächer sind bekannt
## Funktionsumfang
- sie können alle Kalender des Benutzerkontos importieren
- sie können auf den Hauptkalender eines anderen Benutzers oder gemeinsamen Postfachs zugreifen, für die dem Benutzerkonto die entsprechenden Rechte erteilt wurden
- sie können auf den Hauptkalender von Ressourcen-Postfächern zugreifen, für die dem Benutzerkonto die entsprechenden Rechte erteilt wurden
# Überblick
1) Eine App in Microsoft 365 registrieren.
2) Das Profil für Microsoft 365 in der welcome-soft Datapump anlegen und testen.
3) Kalender auswählen und Import einrichten.
4) Import automatisieren.
# Profil für Microsoft Office 365 (Cloud) serverseitig vorbereiten
## Einloggen
Melden Sie sich am Microsoft 365 Admin Center an (Einloggen unter office.com – 9-Punkte Menü – Admin).
## `Azure Active Directory`öffnen
Gehen Sie zum Punkt `Azure Active Directory` oder `Identität` oder `Microsoft Entra Admin Center`. Evtl. vorher „Alle anzeigen“ klicken:
![[AdminCenter_Azure.png]]
Der gewünschte Menüpunkt erhält leider regelmäßig eine neue Bezeichnung und ein neues Icon. Stand März 2025 nennt sich der Menüpunkt `Identität`:
![[Pasted image 20250319115540.png]]
## `App-Registrierung` öffnen
Stand März 2025 kann `App-Registierungen` im Unterpunkt `Anwendungen` gefunden werden:
![[Pasted image 20250319115738.png]]
Alternativ suchen Sie beim Punkt „Alle Dienste“ nach „app“. Als Ergebnis sollte „App-Registrierungen“ angezeigt werden. Bitte anklicken. ![[AdminCenter_AlleDiensteApp.png]]
## `Neue Registrierung` anklicken
![[AdminCenter_NeueApp.png]]
## Namen vergeben
Geben Sie Namen für diese Anwendung ein. Für welcome-soft und die Datenpumpe ist dieser Name irrelevant. Ein klarer Name ist für Sie als Administrator wichtig, damit nicht versehentlich bei einer Bereinigung der welcome-soft Zugang gesperrt wird, nur weil er „Test1“ heißt…
## Kontotyp festlegen
Wählen Sie bei "Unterstützte Kontotypen" stets
```
Konten in einem beliebigen Organisationsverzeichnis (beliebiger Microsoft Entra ID-Mandant – mandantenfähig) und persönliche Microsoft-Konten (z. B. Skype, Xbox)
```
## Umleitungs-URI einrichten
Der Wert bei "Umleitungs-URI" **muss** angegeben werden:
Plattform auswählen = `Web`
Wert = `http://localhost:8000`
## App-ID kopieren
Nachdem Sie auf `Registrieren` geklickt haben, laden Sie in der Detail-Ansicht der soeben registrierten App. Hier erhalten Sie die für das Profil in welcome-soft benötigte `Anwendungs-ID (Client)`. Bitte notieren bzw. kopieren Sie sich diese ID auch unabhängig von welcome-soft, und fügen die ID dann in der welcome-soft Profil-Verwaltung ein. ![[AdminCenter_AppID.png]]
## Clientschlüssel generieren
Auf der linken Seite wählen Sie `Zertifikate und Geheimnisse`. Erstellen Sie bei `Geheime Clientschlüssel` einen `+ Neuer geheimer Clientschlüssel`.
![[AdminCenter_ClientSecret.png]]
> [!Hint] Sofort kopieren!
> **Kopieren Sie den „Wert“** des neu erstellten Schlüssels, zusätzlich auch außerhalb von welcome-soft, **da er später nicht noch einmal nachgesehen werden kann.** Sollten Sie
> [!Important] Erinnerung / Wiedervorlage erstellen
> Der soeben erstellte Clientschlüssel hat eine **Ablaufzeit** (i.d.R. 24 Monate) - danach funktioniert der Import nicht mehr!
>
> Denken Sie bitte in Zukunft daran, vor dessen Ablauf wie oben beschrieben einen neuen Clientschlüssel zu generieren, und diesen in der welcome-soft Profil-Verwaltung zu hinterlegen!
## API-Berechtigungen
Wählen Sie auf der linken Seite „API-Berechtigungen“ (1).
![[Pasted image 20250320112630.png]]
### Microsoft Graph
Klicken Sie auf „Berechtigung hinzufügen“ (2) und wählen Sie den prominent platzierten Banner „Microsoft Graph“, dann „Delegierte Berechtigungen“. Es empfiehlt sich, bei “Berechtigungen auswählen“ in das Suchfeld ein Teil des Berechtigungsnamens einzutippen, um diese schneller zu finden.
![[Pasted image 20250320112757.png]]
Fügen sie folgende benötigte Berechtigungen hinzu:
| Berechtigungsname | Begründung |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| offline_access<br>**Delegiert** | welcome-soft muss die Daten importieren können, ohne dass bei *jedem* Abgleich ein Benutzernamen und Passwort eingegeben werden müssen. Diese Berechtigung ermöglicht dies - Benutzername/Passwort wird nur bei der ersten Einrichtung benötigt. |
| User.ReadBasic.All<br>**Delegiert** | Ermöglicht das Suchen nach Raumpostfächern und Benutzern bei der Konfiguration der Schnittstelle. Kann nach der Ersteinrichtung entfernt werden. |
| Calendars.Read.Shared<br>**Delegiert** | Ermöglicht das Auslesen von Terminen aus Kalendern anderer Benutzer und Ressourcenpostfächern, sofern das Benutzerkonto über die entsprechenden Rechte verfügt. |
Sind alle Berechtigungen wie vorgegeben erfasst, müssen Sie oberhalb der Tabelle auf `Administratorzustimmung für "Domänenname" erteilen` (4) klicken.
## Damit ist die serverseitige Konfiguration abgeschlossen.
> [!Info] Replikation abwarten!
> Bitte beachten Sie, dass die getätigten Änderungen **mehrere Minuten** dauern können, bis sie aktiv sind!
# Profil für Microsoft Office 365 (Cloud) in welcome-soft anlegen
> [!Info]
Die in diesem Dialog benötigten Werte erhalten Sie in den vorhergehenden Schritten (siehe oben), wenn Sie Office 365 serverseitig vorbereiten!
Öffnen Sie die welcome-soft Datenpumpe auf der Karteikarte `Microsoft 365 (GraphAPI)`.
![[Pasted image 20250319191817.png]]
Öffnen sie die Profil-Verwaltung und legen ein neues Profil mit den Daten aus dem vorhergehenden Schritt an. Speichern und Testen Sie das Profil.
Falls Sie in der rechten Fensterhälfte nach Zugangsdaten gefragt werden, melden Sie sich mit dem Benutzerkonto an Microsoft 365 an, dem Sie die Zugriffsrechte auf die Ressourcenpostfächer erteilt haben. Evtl. müssen Sie auf der nachfolgenden Seite die Zugriffsrechte bestätigen.
Zum Abschluss des Tests sollte die Autorisierung bestätigt, und mögliche Kalender und ein Token im Ergebnis-Bereich zu sehen sein:
![[Pasted image 20250319192157.png]]
Schließen sie das Fenster mit `Ok`.
## Verbinden
Wählen Sie nun das korrekte Profil aus und klicken auf `Verbinden`.
## Postfach auswählen
Wählen Sie das Postfach aus, dessen Kalender Sie importieren möchten:
### Adresseingabe
Geben Sie hier direkt die E-Mail Adresse der Ressource oder des gemeinsamen Postfachs ein. Klicken Sie dann auf `Suchen`:
![[Pasted image 20250319192957.png]]
>[!Info] Info
>Durch technische Beschränkungen der Microsoft Graph API kann ausschließlich der Hauptkalender einer Ressource oder eines freigegebenen Postfachs angezeigt werden.
### Suchen
Geben Sie bei `Adresse oder Name` Teile der E-Mail Adresse oder des vollständigen Namens eines Postfachs ein. Ergebnisse werden bei "Postfächer" angezeigt. Sollen mehrere Postfächer importiert werden, muss pro Postfach der Kalender im Abschnitt "Kalender des Postfachs" abonniert werden.
![[Pasted image 20250319193219.png]]
>[!Info] Info
>Durch technische Beschränkungen der Microsoft Graph API kann ausschließlich der Hauptkalender einer Ressource oder eines freigegebenen Postfachs angezeigt werden.
> [!question] Postfach-Liste leer?
> - Die App-Registrierung benötigt das Recht `User.ReadBasic.All`, damit Postfächer aufgelistet werden können.
> - Es wird meist nach dem Suchbegriff am Anfang eines Wortes gesucht. "erlin" findet "Raum Berlin" nicht, "ber" jedoch schon.
> - Im Bedarfsfall recherchieren Sie in Microsoft 365 die E-Mail Adresse des gewünschten Postfachs und fügen diese direkt als [[#Adresseingabe|Adresse]] hinzu.
### Meine Kalender
Listet alle Kalender des Benutzerkontos auf, das verwendet wurde, um das Profil anzumelden:
![[Pasted image 20250319193951.png]]
# Datenpumpe einrichten
Folgen Sie den weiteren Anweisungen unter [[Datenpumpe einrichten#2. Kalender / Raum (Postfachname)|Datenpumpe einrichten]].