Beschreibung:
In diesem Artikel wird beschrieben, wie ein ePaper-Server mittels Modern Authentication an Office 365 angebunden werden kann.
Voraussetzungen:
- Zugang zu Office 365
- Zugriff auf das Office 365 Admin-Konto
- In Office 365 muss ein Benutzerkonto existieren, welches als Postfachstellvertreter in allen gewünschten Raumpostfächern eingetragen wird.
- Die Raumpostfächer müssen als Ressourcenpostfächer angelegt werden.
- Aktueller Web-Browser mit Java-Script Support als Standard-Browser
- Python ab Version 3.4
- Windows Powershell muss verfügbar sein auf dem Windows System, auf dem der ePaper-Server installiert ist
- Bereits eingerichtetes und funktionsfähiges ePaper-Szenario
Szenario:
Vorgehensweise:
1. Vorbereitende Schritte in Microsoft Azure:
Der Zugang zu Office 365 wird im Hintergrund über Microsoft Azure realisiert. Daher ist auch ein Zugang zu Microsoft Azure vorhanden. Damit der ePaper-Server an Office 365 angebunden werden kann, müssen in Microsoft Azure einige Einstellungen vorgenommen werden.
1.1 Rufen Sie den folgenden Link auf, um sich bei Microsoft Azure anzumelden.
https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade
1.2 Wählen Sie das Administrator-Konto von Office 365 aus und loggen sich ein.
1.3 Klicken Sie bei App-Registrierungen auf Neue Registrierung, um eine Anwendung mit Azure zu verbinden.
1.4 Passen Sie die folgenden Parameter an und klicken auf Registrieren:
- Name: Vergeben Sie einen aussagekräftigen Namen für die Anwendung (in diesem Beispiel LANCOM ePaper O365).
- Unterstützte Kontotypen: Wählen Sie die Option Konten in einem beliebigen Organisationsverzeichnis und persönliche Microsoft-Konten aus.
- Umleitungs-URI: Stellen Sie sicher, dass Web ausgewählt ist und tragen den folgenden Link ein:
1.5 Kopieren Sie in der Übersicht die Anwendungs-ID und speichern diese zur späteren Verwendung in einer Text-Datei ab.
1.6 Wechseln Sie in den Reiter Zertifikate & Geheimnisse und klicken auf Neuer geheimer Clientschlüssel, um einen Schlüssel für die Kommunikation mit Office 365 zu generieren.
1.7 Passen Sie folgenden Parameter an und klicken auf Hinzufügen:
- Beschreibung: Vergeben Sie einen aussagekräftigen Namen für den Schlüssel.
- Gültig bis: Wählen Sie im Dropdownmenü eine Gültigkeitsdauer aus (in diesem Beispiel 24 Monate).
Nach Ablauf der Gültigkeit muss ein neuer Schlüssel erstellt werden und dieser in den Python-Skripten hinterlegt werden (siehe Schritt 2.).
1.8 Kopieren Sie den geheimen Schlüssel (Wert) und speichern diesen zur späteren Verwendung in einer Textdatei ab.
Der geheime Schlüssel muss zwingend zu diesem Zeitpunkt kopiert werden, da dies zu einem späteren Zeitpunkt nicht mehr möglich ist. In diesem Fall muss der Schlüssel gelöscht und ein neuer erstellt werden.
1.9 Wechseln Sie in den Reiter API-Berechtigungen und klicken auf Berechtigung hinzufügen.
1.10 Klicken Sie auf Microsoft Graph.
1.11 Wählen Sie Delegierte Berechtigungen aus.
1.12 Wählen Sie die folgenden Berechtigungen aus und klicken anschließend auf Berechtigungen hinzufügen:
- OpenId-Berechtigungen:
- offline_access
- Calendars:
- Calendars.Read
- Calendars.Read.Shared
- User:
- User.Read (Standardmäßig ausgewählt)
1.13 Die Berechtigungen sehen anschließend wie folgt aus.
1.14 Die vorbereitenden Schritte in Microsoft Azure sind damit abgeschlossen.
2. Anpassung der Python-Skripte und der Konfigurations-Datei:
Damit die Anbindung funktioniert, müssen in den Python-Skripten noch die Login-Daten und in der Konfigurations-Datei noch einige Informationen zum ePaper Server hinterlegt werden.
2.1 Anpassung der Datei "O365_Auth.py":
Bearbeiten Sie die Datei O365_Auth.py in einem Texteditor und tragen bei credentials die in Schritt 1.5 kopierte Anwendungs-ID (Client) und den in Schritt 1.8 kopierten Geheimen Schlüssel (Wert) ein.
2.2 Anpassung der Datei "O365_Update.py" bzw. "O365_Update_24h.py":
Bearbeiten Sie die Datei O365_Update.py oder O365_Update_24h.py in einem Texteditor und passen folgende Parameter an:
- credentials: Tragen Sie die in Schritt 1.5 kopierte Anwendungs-ID (Client) und den in Schritt 1.8 kopierten Geheimen Schlüssel (Wert) ein.
- tzone: Passen Sie bei Bedarf die Zeitzone an.
Es wird entweder das Skript O365_Update.py oder O365_Update_24h.py verwendet:
- O365_Update.py zeigt immer auch den nächsten Termin an, auch wenn dieser erst am nächsten Tag stattfindet.
- O365_Update_24h.py zeigt immer nur Termine vom gleichen Tag an.
2.3 Anpassung der Datei "config.json":
2.3.1 Bearbeiten Sie die Datei config.json und passen die folgenden Parameter an:
- Tragen Sie unter wireless_display_server die IP-Adresse des ePaper-Servers als address ein.
- Hinterlegen Sie unter conference_label das von ihnen verwendete Template, sofern Sie ein anderes Template verwenden.
- Passen Sie unter displays folgende Parameter an:
- o365_room_mailbox: Tragen Sie die E-Mail-Adresse des gewünschten Kalender-Postfachs ein.
- display_id: Tragen Sie die Display-ID eines ePaper-Displays ein.
- display_name: Tragen Sie einen aussagekräftigen Namen für das ePaper-Display ein.
2.3.2 Bei Verwendung mehrerer ePaper-Displays muss im Abschnitt displays für jedes Display der markierte Bereich kopiert und darunter eingefügt werden. Die Parameter müssen wie in Schrtt 2.3.1 beschrieben angepasst werden.
2.3.3 Für zwei ePaper-Displays sieht der Abschnitt displays anschließend wie folgt aus.
3. Abschließende Schritte in der Windows Power-Shell auf dem ePaper-Server:
3.1 Öffnen Sie den Ordner, in dem sich die Python-Skripte befinden, öffnen bei gedrückter <Shift-Taste> das Kontextmenü per Rechtsklick und wählen PowerShell-Fenster hier öffnen aus.
3.2 Installation der Python Module für Office 365:
3.2.1 Geben Sie den folgenden Befehl ein: pip install o365
3.3
Geben Sie den folgenden Befehl ein: Install-Module ExchangeOnlineManagement
Bestätigen Sie die Abfrage Möchten Sie den NuGet-Anbieter jetzt durch PowerShellGet installieren und importieren lassen? mit J (Ja).
Bestätigen Sie die Abfrage Möchten Sie die Module von 'PSGallery' wirklich installieren? mit J (Ja).
3.4
Geben Sie den folgenden Befehl ein: Import-Module ExchangeOnlineManagement
3.5
Geben Sie den folgenden Befehl ein: Connect-ExchangeOnline -UserPrincipalName <admin@ihre-domain.de>
Loggen Sie sich in dem Popup-Fenster des Web-Browsers im Administrator-Konto ein.
Das Popup-Fenster wird nur korrekt angezeigt, wenn der verwendete Web-Browser JavaScript unterstützt.
3.6
Geben Sie den folgenden Befehl ein: Set-CalendarProcessing -Identity <testraum@ihre-domain.de> -DeleteSubject $False -AddOrganizerToSubject $False
3.7
Geben Sie den folgenden Befehl ein: python O365_Auth.py
3.8
Geben Sie den folgenden Befehl ein: python O365_Update.py .\config.json -i 3 -u required oder python O365_Update_24h.py .\config.json -i 3 -u required
- Connect-ExchangeOnline -UserPrincipalName <admin@ihre-domain.de> (Mit Admin-Konto von Office 365)
- python O365_Auth.py -> (Danach online mit dem Syncuser anmelden, danach die URL in die Powershell einfügen)