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.
images/download/attachments/137310842/image-2023-7-21_10-30-28-version-1-modificationdate-1689928228109-api-v2.png

Application ID / App ID / Anwendungs-ID

Zu finden in der App-Übersicht.
images/download/attachments/137310842/image-2023-7-19_11-0-10-version-1-modificationdate-1689924372793-api-v2.png

Application Secret / Client Secret

Zu finden unter "Zertifikate & Geheimnisse" → Tab "Geheime Clientschlüssel".
images/download/thumbnails/137310842/image-2023-7-19_11-2-53-version-1-modificationdate-1689924372797-api-v2.png
Wichtig: Der Wert wird benötigt, nicht die "Geheime ID".

Umleitungs-URI

Muss unter "Authentifizierung" hinterlegt werden.
Die URL wird im Kanal automatisch erzeugt, nachdem man auf "Anmelden" geklickt hat und sieht wie folgt aus:
https://<Integration Server>/dw/cloud/auth/_data168966763834704714663416402233630
images/download/attachments/137310842/image-2023-7-19_11-13-42-version-1-modificationdate-1689924372803-api-v2.png

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.

images/download/attachments/137310842/image-2023-12-8_11-3-23-version-1-modificationdate-1702029780598-api-v2.png

Kanal-Einrichtung

Mit den oben genannten Informationen können wir einen CloudStorage-Kanal anlegen.

  1. Unter Verwaltung → Partner → Kanäle legen wir einen neuen Kanal CloudStorage an.

  2. Bei Typ wählen wir MS 365 OneDrive / Sharepoint aus.

    images/download/attachments/137310842/image-2023-7-21_10-25-4-version-1-modificationdate-1689927904239-api-v2.png
  3. Ein Klick auf Anmelden und man wird aufgefordert den Kanal zu speichern. Anschließend lässt sich der Authorization Flow (Grant Type) wählen.

  4. Authorization Flow

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

      images/download/attachments/137310842/image-2023-12-8_10-48-44-version-1-modificationdate-1702028901383-api-v2.png


      Mit einem Klick auf Access Token holen ist die Autorisierung erfolgreich abgeschlossen.

    2. REFRESH_TOKEN
      Die etwas sichere Methode.
      Hier sollten die Scopes auf Type Delegated gesetzt sein.

      images/download/attachments/137310842/image-2023-12-8_10-44-55-version-1-modificationdate-1702028672429-api-v2.png

      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.

      images/download/attachments/137310842/image-2023-7-19_12-38-55-version-1-modificationdate-1689924372806-api-v2.png

Profil-Einrichtung


Gegeben ist folgende SharePoint Seite: "Sales Test Site".


images/download/attachments/137310842/image-2023-12-8_12-8-35-version-1-modificationdate-1702033693160-api-v2.png

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.


images/download/attachments/137310842/image-2023-12-8_12-3-56-version-1-modificationdate-1702033414170-api-v2.png

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.


images/download/attachments/137310842/image-2023-12-8_12-25-58-version-1-modificationdate-1702034735458-api-v2.png


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