...
In diesem Artikel wird beschrieben, wie ein ePaper-Server mittels Modern Authentication an Office 365 angebunden werden kann, um Termine aus Office 365 auf den ePaper-Displays darzustellen.
Hinweis |
---|
Bitte beachten Sie, dass LANCOM Systems keinen Support beim Troubleshooting eines solchen Szenarios leisten kann, da eine Analyse der externen Systeme (Microsoft Azure und Office 365) nicht möglich ist. |
Info |
---|
Der ePaper-Server wurde im Januar 2024 abgekündigt (End of Sale). LANCOM Systems wird daher für Neuinstallationen des ePaper-Servers keinen Support mehr leisten. Für Bestandsinstallationen des ePaper-Servers wird LANCOM Systems noch bis einschließlich Januar 2026 Support leisten. |
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.
- Bereits eingerichtetes und funktionsfähiges ePaper-Szenario
- Der ePaper-Server muss auf einem Windows System installiert sein
- Windows PowerShell ab Version 7.0 muss auf dem Windows System verfügbar sein, auf dem die Python-Skripte ausgeführt 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:
- 9
Vorgehensweise:
1. Vorbereitende Schritte in Microsoft Azure:
Der Zugang zu Office 365 wird im Hintergrund über Microsoft Azure realisiert. Daher ist bei Verwendung von Office 365 immer 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.2 Wählen Sie das Administrator-Konto von Office 365 aus und loggen melden sich einan.
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 die folgenden Parameter an und klicken auf Hinzufügen:
...
Info |
---|
Nach Ablauf der Gültigkeit muss ein neuer Schlüssel erstellt werden und dieser in den Python-Skripten hinterlegt werden (siehe Schritt 2.2 und 2.3). |
1.8 Kopieren Sie den geheimen Schlüssel (Wert) und speichern diesen zur späteren Verwendung in einer Textdatei ab.
Hinweis |
---|
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-Dateimitgelieferten Skript-Dateien:
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. Weiterhin muss das ePaper-Template in das Installationsverzeichnis des ePaper-Servers kopiert werden, sofern noch kein eigenes Template verwendet wird.
Laden Sie sich dazu die im Anhang befindliche Datei ePaper-Office 365-Skripte.zip herunter und entpacken diese.
View file | ||||
---|---|---|---|---|
|
2.1 Kopieren des ePaper-Templates in das Installationsverzeichnis des ePaper-Servers:
Info |
---|
Sollten Sie bereits ein angepasstes Template verwenden, so überspringen Sie diesen Schritt. |
Kopieren Sie das ePaper-Template lcsconference_landscape.xsl und fügen dieses im Installationsverzeichnis des ePaper-Servers (Standard: C:\Program Files (x86)\LANCOM\WePD-Server) in den Ordner data → template ein.
2.2 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.
Hinweis |
---|
Die Logindaten müssen jeweils in Hochkommata eingetragen werden, wie auf dem Screenshot ersichtlich. |
2.2 3 Anpassung der Datei "O365_Update_v3.py" bzw. "O365_Update_24h_v3.py":
Bearbeiten Sie die Datei O365_Update_v3.py oder O365_Update_24h_v3.py py in einem Texteditor und passen folgende Parameter an:
...
Info |
---|
Es wird entweder das Skript O365_Update_v3.py oder O365_Update_24h_v3.py py verwendet:
|
Hinweis |
---|
Die Logindaten sowie die Zeitzone müssen jeweils in Hochkommata eingetragen werden, wie auf dem Screenshot ersichtlich. |
2.3 4 Anpassung der Datei "config.json":
2.3.1 Passen Sie die
4.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 eigenes Template verwenden und diesem einen anderen Namen gegeben haben.
- 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.
Hinweis |
---|
Die Parameter müssen jeweils in hochgestellten Anführungszeichen eingetragen werden, wie auf dem Screenshot ersichtlich. |
2.4.2 Bei Verwendung mehrerer ePaper-Displays muss im Abschnitt displays für jedes Display der markierte Bereich kopiert und darunter eingefügt werden. Der Abschnitt eines ePaper-Displays muss jeweils durch ein Komma von dem Abschnitt des nächsten Displays getrennt werden. Die Parameter der weiteren Displays müssen wie in Schrtt 2.4.1 beschrieben angepasst werden.
2.4.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 System mit dem ePaper-Server:
3.1 Öffnen Sie die Windows Powershell und navigieren in 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.
Info |
---|
3.2 Führen Sie nacheinander die folgenden Befehle aus:
...
Alternativ können Sie eine Powershell-Instanz direkt starten und in das Verzeichnis mit den Skripten navigieren. |
3.1 Installation der Python Module für Office 365:
3.1.1 Geben Sie den folgenden Befehl ein: pip install o365
3.1.2 Geben Sie anschließend den Befehl pip install tzdata ein, um die Zeitzonen-Datenbank der IANA anzubinden.
3.2 Installation des ExchangeOnlineManagement-Moduls:
3.2.1 Geben Sie den folgenden Befehl ein: Install-Module ExchangeOnlineManagement
3.2.2 Bestätigen Sie die Abfrage Möchten Sie den NuGet-Anbieter jetzt durch PowerShellGet installieren und importieren lassen? mit J (Ja).
3.2.3 Bestätigen Sie die Abfrage Möchten Sie die Module von 'PSGallery' wirklich installieren? mit J (Ja).
3.3 Import des ExchangeOnlineManagement-Moduls:
Geben Sie den folgenden Befehl ein: Import-Module ExchangeOnlineManagement
3.4 Registrierung des Office 365 Administrator-Kontos am ExchangeOnline-Modul:
3.4.1 Geben Sie den Befehl für die Registrierung in dem folgenden Format ein: Connect-ExchangeOnline -UserPrincipalName <admin@ihre-domain.de>
...
Tragen Sie als <admin@ihre-domain.de> die E-Mail Adresse des in Schritt 1.2 verwendeten Office 365 Administrator-Kontos ein.
3.4.2 Loggen Sie sich in dem Popup-Fenster des Web-Browsers im Administrator-Konto ein.
Hinweis |
---|
Das Popup-Fenster wird nur korrekt angezeigt, wenn der verwendete Web-Browser JavaScript unterstützt. |
3.5 Anzeige des Organisators und des Betreffs auf den ePaper-Displays ermöglichen:
Geben Sie für die Registrierung den Befehl in dem folgenden Format ein: Set-CalendarProcessing -Identity
...
<testraum@ihre-domain.
...
de> -DeleteSubject $False -AddOrganizerToSubject $False
Tragen Sie als <testraum@ihre-domain.de> die E-Mail Adresse des Raumpostfachs ein.
3.6 Generierung eines Tokens zur Authentifizierung des Postfachstellvertreters:
3.6.1 Geben Sie den folgenden Befehl ein: python O365_Auth.py
...
3.6.2 Kopieren Sie den Link unter Visit the following url to give consent: und geben diesen in einem Web-Browser ein.
3.6.3 Loggen Sie sich mit dem Account für den Postfachstellvertreter ein.
3.6.4 Kopieren Sie nach dem Login den Link aus dem Web-Browser.
3.6.5 Fügen Sie den kopierten Link in der PowerShell ein. Die erfolgreiche Authentifizierung wird mit der Meldung Authenticated! quittiert.
3.8 Starten des ePaper-Update-Skriptes:
Geben Sie einen der folgenden Befehle ein (siehe auch Schritt 2.3): python O365_Update_v3.py .\config.json -i 3 -u required oder python O365_Update_24h_v3.py .\config.json -i 3 -u required
Info |
---|
Der Parameter -i steht für das Update-Intervall in Minuten. Der ePaper-Server sucht in diesem Beispiel also alle 3 Minuten nach Updates. Ein Update wird aber nur auf die ePaper-Displays ausgerollt, wenn es auch eine Änderung gibt. Für den dauerhaften Betrieb des Update-Skriptes kann die Windows Aufgabenplanung verwendet werden. |