Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

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

Microsoft Azure Konto AuswahlfensterImage Modified

1.3 Klicken Sie bei App-Registrierungen auf Neue Registrierung, um eine Anwendung mit Azure zu verbinden.

App-Registrierungen Neue Registrierung hinzufügenImage Modified

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:

Konfigurationsdialog Anwendung registrierenImage Modified

1.5 Kopieren Sie in der Übersicht die Anwendungs-ID und speichern diese zur späteren Verwendung in einer Text-Datei ab.

App-Registrierungen Menüreiter ÜbersichtImage Modified

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.

Image Modified

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).

Konfigurationsdialog Geheimen Clientschlüssel hinzufügenImage Modified

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.

Image Modified

1.9 Wechseln Sie in den Reiter API-Berechtigungen und klicken auf Berechtigung hinzufügen.

App-Registrierungen Menüreiter API-BerechtigungenImage Modified

1.10 Klicken Sie auf Microsoft Graph.

Konfigurationsdialog API-Berechtigungen anfordernImage Modified

1.11 Wählen Sie Delegierte Berechtigungen aus.

Konfigurationsdialog API-Berechtigungen anfordernImage Modified

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)

Dropdown Menü Openid-BerechtigungenImage Modified

Dropdown Menü CalendarsImage Modified

Dropdown Menü UserImage Modified

Berechtigungen hinzufügen ButtonImage Modified

1.13 Die Berechtigungen sehen anschließend wie folgt aus.

Microsoft Graph TabelleImage Modified

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
nameePaper-Office 365-Skripte.zip
height150


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.

Auth Python SkriptImage Modified


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:

  • O365_Update_v3.py py zeigt immer auch den nächsten Termin an, auch wenn dieser erst am nächsten Tag stattfindet.
  • O365_Update_24h_v3.py py zeigt immer nur Termine vom gleichen Tag an.
Hinweis

Die Logindaten sowie die Zeitzone müssen jeweils in Hochkommata eingetragen werden, wie auf dem Screenshot ersichtlich.

Update Python SkriptImage Modified


2.3 4 Anpassung der Datei "config.json":

2.3.1 Passen Sie die 

Image Removed

Image Removed

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.

Config JSON DateiImage Added

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.

Config JSON DateiImage Added

2.4.3 Für zwei ePaper-Displays sieht der Abschnitt displays anschließend wie folgt aus.

Config JSON DateiImage Modified



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.

Windows Explorer Dropdown Menü PowerShell öffnenImage Added


3.1 Installation der Python Module für Office 365: 

3.1.1 Geben Sie den folgenden Befehl ein: pip install o365

PowerShell BefehlseingabeImage Added

3.1.2 Geben Sie anschließend den Befehl pip install tzdata ein, um die Zeitzonen-Datenbank der IANA anzubinden.

PowerShell BefehlseingabeImage Added


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).

PowerShell BefehlseingabeImage Added

3.2.3 Bestätigen Sie die Abfrage Möchten Sie die Module von 'PSGallery' wirklich installieren? mit J (Ja).

PowerShell BefehlseingabeImage Added


3.3 Import des ExchangeOnlineManagement-Moduls:

Geben Sie den folgenden Befehl ein: Import-Module ExchangeOnlineManagement

PowerShell BefehlseingabeImage Added


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.

PowerShell BefehlseingabeImage Added

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.

Microsoft Konto AnmeldefensterImage Added


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.

PowerShell BefehlseingabeImage Added


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.

PowerShell BefehlseingabeImage Added

3.6.3 Loggen Sie sich mit dem Account für den Postfachstellvertreter ein.

Microsoft Konto AuswahlfensterImage Added

3.6.4 Kopieren Sie nach dem Login den Link aus dem Web-Browser.

Browser URL LeisteImage Added

3.6.5 Fügen Sie den kopierten Link in der PowerShell ein. Die erfolgreiche Authentifizierung wird mit der Meldung Authenticated! quittiert.

PowerShell BefehlseingabeImage Added


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.

PowerShell BefehlseingabeImage Added