SharePoint Export via Graph API
MitThis dieserinterface Schnittstelleallows kannintegration diewith offizielleMicrosoft's official SharePoint Graph API vonto Microsoftcommunicate integriertwith werden, um mit einema SharePoint Verzeichnisdirectory.
A zu kommunizieren.Dafür ist eine registrierteregistered Microsoft Azure Applikationapplication notwendig.is required for this.
IntegrierteIntegrated Services derof the Graph API
DokumenteUploadindocumentseintozuvoradefiniertespre-defined SharePointVerzeichnis hochladendirectory.
ZugangsberechtigungenAccess Permissions in Microsoft Azure
BenötigteRequired ApplikationenApplications
ErstellenCreate Sietwo zweinew neue Applikationenapplications in Microsoft Azure.EineOne dientis zuused administrativenfor Zwecken,administrative diepurposes, Anderethe fürother denfor Nutzerthe selbst.user itself.
ZurTo Bewilligunggrant derthe folgendenfollowing Rechtepermissions, wirda einuser Userwith mitadministrative Administrationsrechtenrights in Microsoft Azure benötigt.is required.
DieThe Rechtepermissions könnencan imbe Menüadded in the "API Permissions" menu (imin deutschenthe Client:German client: "API-Berechtigungen") :
DieTheAdmin-ApplikationadminbenötigtapplicationdierequiresAPI-Berechtigungthe API permissionSites.FullControl.All.DieTheNutzer-ApplikationuserbenötigtapplicationdierequiresAPI-Berechtigungthe API permissionSites.Selected.
In derthe Admin-Applikationadmin mussapplication, eina Useruser immust Menübe created in the Certificates & secrets erstelltmenu.
This werden.user Dieseris Userrequired istto nötig,grant umthe dienecessary Nutzer-Applikationpermissions mitto denthe nötigenuser Rechten auszustatten.application.
Abbildung - Registrierte Microsoft Applikation "Neue SharePoint Applikation"
RechtePermissions fürfor diethe Nutzer-ApplikationUser Application
FürFor diesenthis Abschnittsection, benötigenyou Siewill dieneed Datenthe derdata zuvorfrom erstelltenthe Admin-Applikation.previously created admin application.
DieThe Nutzer-Applikationuser mussapplication zwingendmust diebe Berechtigungenexplicitly aufgranted diepermissions vonto Ihnenthe gewünschtedesired SharePoint Seitesite.
For erhalten.Dafürthis, istthe dieID Idof derthe SharePoint-SeiteSharePoint notwendig.site is required.
BedauerlicherweiseUnfortunately, istas esof zumMarch aktuellen2025, Zeitpunktit nichtis möglich,not diepossible to retrieve the SharePoint Seitensite IdID überthrough diethe grafischegraphical Oberflächeinterface.
Therefore, machenthe (Standfollowing Märzdescribes 2025).how to determine the site ID and grant the permission using curl requests.
Login
DaherFirst, wirdyou wieneed folgt beschrieben, wie die Id der Seite ermittelt und die Erteilung der Berechtigung per curl Requests erteilt werden kann.
Einloggen
Zu erst benötigen Sie einena Bearer Token,Token umto sichauthenticate anwith derthe APIAPI. zuThis authentifizieren.is Diesdone erfolgtusing durchthe folgendenfollowing Request:request:
-
URL:
TENANT_ID>/oauth2/v2.0/tokenhttps://login.microsoftonline.com/< -
HTTP
Methode:Method:POST -
Request Body
Typ:Type:form-data -
Request Body:
-
client_id:<CLIENT_ID>
-
client_secret:<CLIENT_SECRET>
-
grant_type:client_credentials
-
scope:https://graph.microsoft.com/.default
-
StattInstead "of <TENANT_ID>, ""<CLIENT_ID>, "undand "<CLIENT_SECRET>, "müssenyou Siemust Ihreuse jeweiligenyour Datenrespective verwenden.credentials.You Wocan Siefind diesethese Daten finden stehtcredentials in denthe Abschnittensections "Feld Tenant Id", "Feld Client Id" und and"Feld Client Secret" diesesof Artikels.this article.
AnbeiHere deris the corresponding cURL Befehl:command:
curl --location 'https://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/token' \--form 'client_id="<CLIENT_ID>"' \--form 'client_secret="<CLIENT_SECRET>"' \--form 'grant_type="client_credentials"' \--form 'scope="https://graph.microsoft.com/.default"'
"access_token" In
<BEARER_TOKEN>" Site Id erhalten
The fürSite denID Requestis zurequired denfor Rechtenthe benötigt:
- URL: https://graph.microsoft.com/v1.0/sites/<TENANT>.sharepoint.com/sites/<NAME>
- HTTP Methode: GET
- Header: "Authorization: Bearer <BEARER_TOKEN>"
AnbeiHere deris the corresponding cURL Befehl:command:
curl --location 'https://graph.microsoft.com/v1.0/sites/<TENANT>.sharepoint.com:/sites/<NAME>' \--header 'Authorization: Bearer <BEARER_TOKEN>'
DieThe Responseresponse diesesfrom Requeststhis istrequest etwasis umständlichera zubit lesen,more eincomplex Beispiel:to read. Here's an example:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#sites/$entity",
"createdDateTime": "2025-03-13T00:11:15.033Z",
"description": "TestDescription",
"id": "<TENANT>.sharepoint.com,808dec17-aa6d-4158-a9fe-8caa8d909dff,81f7ad14-65ae-46c2-b0fc-10602e9401cc",
"lastModifiedDateTime": "2025-03-13T07:07:19Z",
"name": "TestName",
"webUrl": "https://<TENANT>.sharepoint.com/sites/<SITE_NAME>",
"displayName": "TestName",
"root": {},
"siteCollection": {
"hostname": "<TENANT>.sharepoint.com"
}
}
DieIn this case, the Site IdID inis diesemthe Fall ist der Wertvalue 808dec17-aa6d-4158-a9fe-8caa8d909dff.
It Eris befindetlocated sichin imthe Index "id" undfield istof derthe mittlereresponse derand Werteis (wennthe denmiddle Wertpart anof seinenthe Kommatavalue aufteilt).when the string is split by commas.
ZugriffsrechteGrant erteilenPermissions
FürTo diegrant Zugriffsrechteaccess benötigenpermissions, sieyou dieneed Clientthe client ID derand Nutzer-Applikationthe undname denof Namen.the user application.DieseInsert setzenthem Siein anplace derof Stelle<USER_APPLICATION_CLIENT_ID> vonand "<.NUTZER_APPLIKATION_CLIENT_IDUSER_APPLICATION_NAME>"
Write bzw.permissions "<NUTZER_APPLIKATION_NAME>"also ein.Dieinclude Rechteread zum Schreiben beinhalten auch die Leserechte.permissions.
- URL: https://graph.microsoft.com/v1.0/sites/<SITE_ID>/permissions
- HTTP Methode: POST
- Request Body Type: JSON
- Request Body:
-
{
"roles": [
"write"
],
"grantedToIdentities": [
{
"application": {
"id": "<NUTZER_APPLIKATION_CLIENT_IDUSER_APPLICATION_CLIENT_ID>",
"displayName": "<NUTZER_APPLIKATION_NAMEUSER_APPLICATION_NAME>"
}
}
]
}
-
AnbeiHere deris the corresponding cURL Befehl:command:
curl --location 'https://graph.microsoft.com/v1.0/sites/<SITE_ID>/permissions' \
--header 'Authorization: Bearer <BEARER_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
"roles": ["write"],
"grantedToIdentities": [{
"application": {
"id": "<NUTZER_APPLIKATION_CLIENT_ID>",
"displayName": "<NUTZER_APPLIKATION_NAME>"
}
}]
}'
Der Server gibt im Erfolgsfall eine Response mit dem Statuscode 201 zurück.
Da der Statuscode aussagekräftig genug ist, kann der Inhalt der Response vernachlässigt werden.
Konfiguration
Um diese Schnittstelle zu verwenden und Aktionen auszuführen, muss an der Squeeze Dokumentenklasse eine Export-Schnittstelle definiert werden.
Die benötigten Zugangsdaten entnehmen Sie aus der Nutzer-Applikation.
Authentifizierung

Abbildung - Export Interface SharePoint GraphAPI (WIP)
Feld Beschreibung
Für das Export Interface kann ein Name angegeben werden, im Feld Beschreibung.
Feld Host
In diesem Feld wird die Adresse zur SharePoint Seite hinterlegt. Diese hat folgendes Muster: <TENANT>.sharepoint.com/sites/<NAME>.
Feld Tenant Id
Die Tenant Id befindet sich in der Übersicht einer registrierten App. Eine Auflistung dieser Apps finden sie hier.
Um die Liste zu sehen müssen Sie eingeloggt sein.
Die Tenant Id wird auf der Seite auch "Directory (tenant) ID".
Feld Client Id
Die Tenant Id befindet sich in der Übersicht einer registrierten App. Eine Auflistung dieser Apps finden sie hier.
Um die Liste zu sehen müssen Sie eingeloggt sein.
Hier wird sie auch unter dem Begriff "Application (client) ID" geführt.
Feld Client Secret
Die Tenant Id befindet sich in der Übersicht einer registrierten App. Eine Auflistung dieser Apps finden sie hier.
Um die Liste zu sehen müssen Sie eingeloggt sein.
Das Client Secret wird innerhalb der registrierten App hinterlegt. Das dafür nötige Menü finden Sie in, in der ausgewählten App, unter dem Menü "Certificates & secrets".
Für das Erstellen eines Secrets müssen sie lediglich eine aussagekräftige Beschreibung angeben, und den Zeitraum, in welchem das Secret valide ist.
Das Client Secret wird bei Microsoft unter "Secret Value" geführt. Diese Information wird nur einmalig angezeigt, aus diesem Grund sollte es in einer sicheren Umgebung gespeichert werden.
Verwechseln Sie das Client Secret nicht mit "Secret Value".
Feld Entity
Über die Entity wird der Service ausgewählt, welchen Sie verwenden möchten:
Feld Export Folder Structure
Dateien werden alle in das Home Verzeichnis des SharePoint Verzeichnisses hochgeladen.
Um zu spezifizieren, in welche Verzeichnis Struktur ein Dokument abgelegt werden soll, können in dieser Auswahlliste mehrere Felder ausgewählt werden.
Die Felder werden durch ihre in SQUEEZE erkannten Daten ersetzt. So könnte beispielsweise die Auswahl des Feldes "IBAN" dazu führen, dass ein Dokument in das Verzeichnis der erkannten IBAN abgelegt wird (nicht in einem Verzeichnis mit dem Namen "IBAN").
Feld Drive
Bei der korrekten Eingabe von Host, Tenant ID, Client ID und dem Client Secret, wird im Feld Drive eine Liste von möglichen Verzeichnissen aufgeführt, welches als Home Verzeichnis des SharePoints dienen soll, das Sie auswählen müssen.
Feld Create Folder Structure
Diese Funktion erstellt beim Wert "Ja" ein Pfad Verzeichnis, auch wenn es vorher nicht existiert.
Sollte das Verzeichnis bereits existieren wird kein neues Verzeichnis erstellt.
Der Pfad für das Verzeichnis wird durch das Feld Export Folder Structure bestimmt.
Beim Wert "Nein" wird beim Export an Sharepoint geprüft, ob der Verzeichnis Pfad existiert.
Existiert das Verzeichnis, dann werden die verarbeiteten Dokumente hochgeladen (exportiert).
Existiert das Verzeichnis jedoch nicht, dann wird das Dokument nicht hochgeladen (nicht exportiert).
Es wird beim Export eine entsprechende Fehlermeldung ausgegeben.
Dadurch soll vermieden werden, das unerwartete Verzeichnisse erstellt werden und Dokumente ggf. verschwinden.
Beispiel

Abbildung - Beispiel ausgefülltes Formular für Export Interface (WIP)
Wenn wir eine neue Applikation in Microsoft Azure erstellt haben, rufen wir diese auf und erhalten folgende Ansicht.
Abbildung - Registrierte Microsoft Applikation "Neue SharePoint Applikation"
Auf dieser Abbildung ist zu sehen was die Client ID ist, sowie wo die Tenant ID zu finden ist.
Bei Auswahl des Menüs "Certificates & secrets" existiert ein kleiner Button mit dem Namen "New client secrets". Nachdem die nötigen Daten angegeben wurden erhalten wir einen neuen Eintrag:
Feldwerte / Metadaten exportieren
Um Feldwerte als Metadaten zu exportieren, beim Upload, müssen diese in der Dokumentenklasse angegeben werden.
Dafür muss das nötige Feld ausgewählt werden, und der entsprechende Wert muss im Feld "Name (Zielsystem)" eingetragen werden.
Abbildung - Kopfdaten-Felder der Dokumentenklasse
