SharePoint-Anbindung - Tutorial
Last Update: 08.12.2023 |
Für Uploads und Downloads von Dateien bietet sich die CloudStorage-Anbindung an (Version >4.5 benötigt). Dies ist unsere "GoTo"-Anbindung, da sie verhältnismäßig einfach umzusetzen ist und keine zusätzliche Lizenz benötigt wird.
In Phase 1 → CloudStorage lassen sich damit Dateien abholen, in Phase 6 → Antwortweg CloudStorage, lassen sich Dateien uploaden.
Voraussetzungen in Azure
Bevor wir zur eigentlichen Anbindung kommen, müssen wir eine App in der Microsoft Identity Platform anlegen und die Authentifizierung mittels OAuth2 vorbereiten.
Schnellstartanleitung: https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app
Benötigte Credentials aus der Azure App:
Tenant / Mandant |
Zu finden in der App-Übersicht. |
Application ID / App ID / Anwendungs-ID |
Zu finden in der App-Übersicht. |
Application Secret / Client Secret |
Zu finden unter "Zertifikate & Geheimnisse" → Tab "Geheime Clientschlüssel". |
Umleitungs-URI |
Muss unter "Authentifizierung" hinterlegt werden. Ohne Umleitungs-URI erfolgt bei der Browser-Anmeldung kein Redirect auf Lobster Integration. Verbindung mit DMZ: Wird ein DMZ-Server verwendet, muss die Redirect URL in die Datei ./etc/forward.properties des DMZ-Servers eingetragen werden! Siehe auch Abschnitt Weiterleitung von HTTP(S)-Anfragen nach innen. |
Scopes |
Die Scopes können unter "API-Berechtigungen" gesetzt werden. Standardmäßig wird die Graph-API (Files→ Files.ReadWrite.All und Sites → Sites.ReadWrite.All) genutzt. Je nach Authorization Flow (siehe Kanaleinstellungen weiter unten) kann der Type abweichen! Bei REFRESH_TOKEN wird Delegated empfohlen.
|
Kanal-Einrichtung
Mit den oben genannten Informationen können wir einen CloudStorage-Kanal anlegen.
Unter Verwaltung → Partner → Kanäle legen wir einen neuen Kanal CloudStorage an.
Bei Typ wählen wir MS 365 OneDrive / Sharepoint aus.
Ein Klick auf Anmelden und man wird aufgefordert den Kanal zu speichern. Anschließend lässt sich der Authorization Flow (Grant Type) wählen.
Authorization Flow
CLIENT_CREDENTIALS
Dies ist die einfachere Authorisierungsmethode, da keine Redirect URL benötigt wird und die Nutzeranmeldung entfällt.
Wichtig: Hier müssen die Scopes zwingend auf Type Application gesetzt sein! (siehe Screenshot oben in der Tabelle).
Mit einem Klick auf Access Token holen ist die Autorisierung erfolgreich abgeschlossen.REFRESH_TOKEN
Die etwas sichere Methode.
Hier sollten die Scopes auf Type Delegated gesetzt sein.
Im Feld der Redirect URL bitte IP/Hostname des Integration Servers eintragen. Anschließend lässt sich die Redirect URL kopieren und wie oben in der Tabelle beschrieben in die Umleitungs-URI in Azure einfügen.
Per Klick auf Access Token holen öffnet sich die Anmeldemaske für Microsoft. Hier ist eine letzte Anmeldung und Bestätigung der Berechtigungen erforderlich.
Hinweis: Bitte verwenden Sie einen Systemaccount (z. B. lobster_prod@example.onmicrosoft.com). Mit der Verwendung eines privaten Accounts kann unter anderem auf den privaten Ordner zugegriffen werden!
War die Autorisierung erfolgreich, wird folgende Meldung angezeigt und der Browser-Tab sowie der Kanal kann geschlossen werden.
Profil-Einrichtung
Gegeben ist folgende SharePoint Seite: "Sales Test Site".
Download von Dateien (Phase 1)
Um Dateien zu downloaden, geben wir unter Drive/Site-ID den Namen der Seite mit @Name:Sales Test Site an.
Mit der Einstellung unten wird die Datei postman_environment.json bei einem Profildurchlauf abgeholt.
Hinweis: Sollen Dateien aus Documents abgeholt werden, reicht es im Verzeichnis einen einzelnen Slash / statt /test/123/ anzugeben!
Upload von Dateien (Phase 6)
Hinweis: Für einen Upload muss der SharePoint-Benutzer/Microsoft Account Berechtigungen haben, auf die entsprechenden Seiten zu schreiben!
Um Dateien zu uploaden, gehen wir wie oben vor.
Mit der Einstellung unten wird eine Eingangsdatei bei einem Profildurchlauf in das /test/123/ Verzeichnis geschrieben.
Es können auch Variablen als SharePoint Seite im Feld Drive/Site-ID verwendet werden! Beispiel: @Name:@var_sharepoint_sites@
Hinweis: Alternativ zum SharePoint-Seitennamen kann auch die Drive-ID angegeben werden. Die Drive-ID kann über den Graph Explorer abgeholt werden. Für den Graph Explorer werden bereits entsprechende Berechtigungen benötigt. Diese müssen dem Account vorab zugewiesen werden! Offizielle Anleitung von Microsoft zu Drive-IDs: https://learn.microsoft.com/en-us/graph/api/drive-get?view=graph-rest-1.0&tabs=http
Andere Anbindungsmöglichkeiten
Sharepoint CData Connector
Sharepoint-"Poweruser" können unseren lizenzpflichtigen CData Connector nutzen. Dieser kann über unseren Vertrieb angefragt werden und bietet umfangreichere Funktionalitäten (z. B. delete files, rename files, create folders, etc.) an.
Technische Dokumentation: https://cdn.cdata.com/help/RSH/jdbc/pg_restallsps.htm
Funktionsübersicht: https://cdn.cdata.com/help/RSH/jdbc/default.htm
Sharepoint REST API
Mit der nativen Microsoft API lässt sich eine Anbindung ebenfalls realisieren. Dies ist aber mit etwas mehr Aufwand verbunden, da die HTTP Requests und deren Struktur manuell aufgebaut und ausgewertet werden müssen.
Die Einrichtung für die native Verwendung der REST API ist eine Mischung aus den oben genannten Informationen und dem OAuth2-Tutorial. Für erste Tests kann ebenfalls der Graph Explorer verwendet werden!
Folgendes wird benötigt:
APP in Azure (siehe Schnellstartanleitung oben).
HTTP Kanal incl. OAuth2, OAuth2 (Client) - Tutorial (die CloudStorage-Kanäle können nicht verwendet werden).
Datei-Upload: https://learn.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_put_content?view=odsp-graph-online
Datei-Download: https://learn.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_get_content?view=odsp-graph-online
Beispielprofil für Datei-Upload: Profile-new_Sharepoint_Upload_File.pak