Training
Modul
Integration von Power Automate in SharePoint-HTTP-Aktionen - Training
Interagieren Sie direkt mit SharePoint-Daten, indem Sie den REST-Service in Microsoft Power Automate-Flows verwenden.
Dieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Tipp
Bevor Sie beginnen, überprüfen Sie die folgenden Ressourcen:
Grundlegendes zum SharePoint-REST-DienstNavigieren in der im REST-Dienst dargestellten SharePoint-Datenstruktur
Bevor Sie mithilfe des REST-Diensts auf eine SharePoint-Ressource zugreifen können, müssen Sie zuerst den URI-Endpunkt ermitteln, der auf diese Ressource zeigt. Wann immer möglich, bildet die URI für diese REST-Endpunkte die API-Signatur der Ressource im SharePoint-Clientobjektmodell streng nach. Zum Beispiel:
In einigen Fällen unterscheidet sich die Endpunkt-URI aber von der entsprechenden Clientobjektmodell-Signatur, um REST- oder OData-Konventionen zu erfüllen.
Die folgende Abbildung zeigt die allgemeine Syntaxstruktur von SharePoint REST-URIs.
Einige Endpunkte für SharePoint-Ressourcen weichen von dieser Syntaxstruktur ab:
Befolgen Sie diese Schritte, um einen REST-Endpunkt für eine SharePoint-Ressource zu erstellen:
Starten Sie mit der REST-Dienstreferenz:
https://{site_url}/_api
Geben Sie den entsprechenden Einstiegspunkt an. Beispiel:
https://{site_url}/_api/web
Navigieren Sie vom Einstiegspunkt zu den spezifischen Ressourcen, auf die Sie zugreifen möchten. Dabei müssen Sie auch Parameter für Endpunkte angeben, die Methoden im Clientobjektmodell entsprechen. Beispiel:
https://{site_url}/_api/web/lists/getbytitle('{list_name}')
Verwenden Sie _api
, um den SharePoint REST-Dienst in Ihren Endpunkt-URIs zu kennzeichnen. Der REST-Dienst ist Teil des Webdiensts „client.svc“. Um die Erstellung von REST-URIs zu erleichtern und den REST URI-Basispfad zu kürzen, verwendet der REST-Dienst _api
, wodurch der explizite Verweis auf den Webdienst „client.svc“ nicht mehr erforderlich ist.
URIs, die auf den Webdienst „client.svc“ verweisen, werden vom REST-Dienst jedoch weiterhin erkannt und akzeptiert. Sie können z. B. https://{site_url}/_vti_bin/client.svc/web/lists
anstelle von https://{site_url}/_api/web/lists
verwenden. Allerdings ist _api
die bevorzugte Konvention. URLs haben maximal 256 Zeichen. Mit _api
wird der Basis-URI verkürzt und es bleiben mehr Zeichen für die Erstellung der verbleibenden URL übrig.
Die wichtigsten Einstiegspunkte für den REST-Dienst sind die Websitesammlung und die Website des angegebenen Kontexts. Damit entsprechen diese Einstiegspunkte den Eigenschaften ClientContext.Site und ClientContext.Web in den Clientobjektmodellen.
Gehen Sie folgendermaßen vor, um auf eine bestimmte Websitesammlung zuzugreifen:
https://{site_url}/_api/site
Gehen Sie folgendermaßen vor, um auf eine bestimmte Website zuzugreifen:
https://{site_url}/_api/web
Zusätzlich zu /site
und /web
enthält der REST-Dienst mehrere Zugriffspunkte, die Entwicklern erlauben, zu spezifischen Funktionen zu navigieren. In der folgenden Tabelle sind einige dieser Zugriffspunkte aufgeführt.
Funktionsbereich | Zugriffspunkt |
---|---|
Website | https://{site_url}/_api/site |
Web | https://{site_url}/_api/web |
Benutzerprofil | https://{site_url}/_api/SP.UserProfiles.PeopleManager |
Suche | https://{site_url}/_api/search |
Erstellen Sie hier mithilfe des Objektmodells spezifischere REST-Endpunkte mit den Namen der APIs aus dem Clientobjektmodell, jeweils getrennt durch einen Schrägstrich (/). In der Tabelle unten sehen Sie Beispiele für Clientobjektmodell-Aufrufe und die zugehörigen REST-Endpunkte.
Clientobjektmodell-API | REST-Endpunkt |
---|---|
ClientContext.Web.Lists | https://{site_url}/_api/web/lists |
ClientContext.Web.Lists[guid] | https://{site_url}/_api/web/lists('<guid>') |
ClientContext.Web.Lists.GetByTitle("Title") | https://{site_url}/_api/web/lists/getbytitle('<Title>') |
Bei Endpunkt-URIs wird die Groß- und Kleinschreibung nicht beachtet. Verwenden Sie in der vorhergehenden Tabelle z. B. /getbytitle
, um das REST-Äquivalent der GetByTitle()-Methode anzugeben.
SharePoint erweitert die OData-Spezifikation, um es Ihnen zu ermöglichen, für die Angabe von Methodenparametern und Indexwerten Klammern zu verwenden. Dadurch werden Fehler durch Mehrdeutigkeiten in URIs vermieden, die mehrere Parameter mit dem gleichen Namen enthalten. Die folgenden beiden URIs enthalten beispielsweise Parameter, die den gleichen Namen aufweisen:
https://{site_url}/_api/web/lists/getByTitle('Announcements')/fields/getByTitle('Description')
https://{site_url}/_api/web/lists('{list_guid}')/fields/getById('{guid}')
Um mehrere Parameter anzugeben, schließen Sie den Parameter als ein Namen-Wert-Paar ein, und trennen Sie die Parameter mit Kommas. Beispiel:
https://{site_url}/_api/web/getAvailableWebTemplates(lcid=1033, includeCrossLanguage=true)
Die folgende Abbildung zeigt die Syntax von SharePoint-REST-Parametern.
Syntax von SharePoint REST-Parametern
Einige Methoden im Clientobjektmodell erfordern eine große Nutzlast als Parameter. Damit REST-Endpunkte die Funktionsparität mit ihren entsprechenden Clientobjektmodell-APIs aufrechterhalten, müssen die Endpunkte einen komplexen Typ als Parameter akzeptieren. In diesen Fällen erweitert der REST-Dienst das bestehende OData-Protokoll, damit diese REST-Endpunkte einen einzelnen komplexen Typ als Parameter akzeptieren können. Dies bezieht sich nur auf POST-Vorgänge, und Sie müssen den komplexen Typ gemäß OData-Standards in Atom-Format oder JSON-Format übergeben.
So verwendet beispielsweise die Methode ListCollection.Add ein Microsoft.SharePoint.Client.ListCreationInformation-Objekt als Parameter. Um eine Liste zu einer bestimmten Website hinzuzufügen, erstellen Sie den entsprechenden REST-Endpunkt wie folgt:
POST https://{site_url}/_api/web/lists/add
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Content-Type: "application/json"
Content-Length: {length of request body as integer}
{ "d" : {
"results": {
"__metadata": {
"type": "SP.ListCreationInformation"
},
"CustomSchemaXml": "…large payload…/",
"Description": "desc",
"DocumentTemplateType": "1",
"TemplateType": "101",
"Title": "Announcements"
}
}
}
Sie können die "Parameteraliasing"-Semantik in OData verwenden, um Parameter an einen SharePoint-REST-Endpunkt zu übergeben. Beim Parameteraliasing wird der Parameterwert mit einem Alias im Parameteraufruf identifiziert, und der tatsächliche Wert wird in der Abfragezeichenfolge der URI angegeben. So können Sie mehr Zeichentypen und eine einheitliche Formatierung mithilfe der Abfragezeichenfolge unterstützen.
Die folgenden zwei REST-URIs sind z. B. äquivalent:
Geben Sie den Parameterwert direkt an:
https://{site_url}/_api/web/applyWebTemplate("STS#0")
Verwenden Sie einen Parameteralias, und geben Sie den tatsächlichen Parameterwert in der Abfragezeichenfolge der URI an:
https://{site_url}/_api/web/applyWebTemplate(title=@template)?@template="STS#0"
Das Übergeben von komplexen Typen per Parameteraliasing wird vom SharePoint-REST-Dienst allerdings nicht unterstützt. So wird z. B. die folgende URI nicht unterstützt, die einen komplexen Typ im Parameteralias enthält:
https://{site_url}/_api/userProfiles/People(7)/GetWorkplace(@address)?@address={"__metadata":{"type: "ODataDemo.Address"},"Street":"NE 228th", "City":"Sammamish","State":"WA","ZipCode":"98074","Country": "USA"}
Parameter-Aliasing-Syntax des SharePoint REST-Diensts
Bei REST-Endpunkten, die Methoden entsprechen, die Dictionary<String, String>
-Wörterbücher als Parameter verwenden, übergeben Sie das Wörterbuch als Serie von durch Kommas getrennten Namen-Wert-Paaren in der Abfragezeichenfolge.
REST-Dienstsyntax für Wörterbuchparameter
Ein Objekt des Typs Dictionary<String, object>
wird als Mehrfachwertobjekt namens „KeyedPropertyValue“ mit den folgenden Zeichenfolgeneigenschaften dargestellt:
Wenn Ihre REST-URI in einem Methodenaufruf endet, können Sie Abfragezeichenfolgensyntax verwenden, um die Parameterwerte der Methode anzugeben. Beispiel:
https://{site_url}/_api/web/applyWebTemplate?template="STS#0"
In der folgenden Abbildung wird die Syntax veranschaulicht, die der REST-Dienst für Parameter in einer Abfragezeichenfolge verwendet.
REST-Dienstsyntax für Parameter in Abfragezeichenfolgen
Um URIs zu erstellen, die statischen Methoden oder Eigenschaften entsprechen, verwenden Sie den entsprechenden API-Namen aus dem ECMAScript-Objektmodell, beginnend mit der Namespacedeklaration und unter Verwendung von punktierter Schreibweise. Beispiel: SP. Utilities.Utility.getImageUrl(imageName) im ECMAScript-Clientobjektmodell hätte das folgende REST-Äquivalent:
https://{site_url}/_api/SP.Utilities.Utility.getImageUrl('imageName')
Statische Methoden können allerdings nur direkt aufgerufen werden und sind als Teil einer größeren URI-Komposition nicht zulässig. Das direkte Aufrufen der SP.Utility.AssetsLibrary-Methode in REST ist z. B. wie folgt zulässig:
https://{site_url}/_api/SP.Utility.assetsLibrary/id
Die Verwendung des Ressourcenspeicherorts als Parameter für eine komplexere URI, wie im folgenden Beispiel gezeigt, ist allerdings nicht zulässig:
https://{site_url}/_api/getList(~SP.Utility/assetsLibrary/id)
In der folgenden Abbildung wird die Syntax veranschaulicht, die der SharePoint-REST-Dienst für statische Elemente verwendet.
Syntax von statischen Membern des SharePoint REST-Diensts
Wenn Sie die von einem Endpunkt angeforderten Daten auswählen, filtern oder sortieren möchten, unterstützt der SharePoint-REST-Dienst eine breite Palette von OData-Abfragezeichenfolgen-Operatoren. Weitere Informationen finden Sie unter Verwenden von OData-Abfragevorgängen in SharePoint REST-Anforderungen
Training
Modul
Integration von Power Automate in SharePoint-HTTP-Aktionen - Training
Interagieren Sie direkt mit SharePoint-Daten, indem Sie den REST-Service in Microsoft Power Automate-Flows verwenden.