Arbeiten mit SharePoint-Websites in Microsoft Graph

Die SharePoint-API in Microsoft Graph unterstützt die folgenden wesentlichen Szenarios:

  • Zugriff auf SharePoint-Websites, -Listen und -Laufwerke (Dokumentbibliotheken)
  • Schreibgeschützte Unterstützung für Website-Ressourcen (keine Möglichkeit zum Erstellen neuer Websites)
  • Lese-/ Schreibzugriff-Unterstützung für -Listen, listItems und driveItems
  • Unterstützung für Lese-/Schreibzugriff für SharePointSettings auf Mandantenebene
  • Adressierung von Ressourcen nach SharePoint-ID, URL oder relativem Pfad

Die SharePoint-API macht drei wichtige Ressourcentypen verfügbar:

Es folgt ein Beispiel für eine listItem-Ressource:

{
  "fields": {
    "Title": "Access card",
    "Employee": "Ryan Gregg",
    "EmployeeId": "10",
    "CardSerial": "01235492",
    "Alias": "RGregg",
    "ID": 1,
    "ContentType": "Item",
    "Modified": "2016-09-19T23:15:25-07:00",
    "Created": "2016-09-19T23:15:25-07:00"
  },
  "createdBy": {
    "user": {
      "id": "b757fdcb-0271-4807-b243-504139e4ba04",
      "displayName": "Ryan Gregg"
    }
  },
  "createdDateTime": "2016-09-20T06:15:25Z",
  "eTag": "48e941c3-9515-4c48-9760-c07c90c79d48,1",
  "id": "4",
  "lastModifiedBy": {
    "user": {
      "id": "b757fdcb-0271-4807-b243-504139e4ba04",
      "displayName": "Ryan Gregg"
    }
  },
  "lastModifiedDateTime": "2016-09-20T06:15:25Z",
}

Ressourcen legen Daten auf drei verschiedene Arten offen:

  • Eigenschaften (wie id und name) legen einfache Werte offen.
  • Facets (wie fields und createdBy) legen komplexe Werte offen.
  • References (wie items) verweisen auf Sammlungen anderer Ressourcen.

Sie können Sie Referenzen in der URL mit dem expand-Abfrageparameter erweitern, z. B. ?expand=fields. Sie können bestimmte Eigenschaften und Facets mit dem select Abfrageparameter abrufen, z. B. ?select=id,name. Standardmäßig werden die meisten Eigenschaften und Facets zurückgegeben, wohingegen alle Referenzen ausgeblendet werden. Aus Leistungsgründen wird empfohlen, dass Sie select und expand nur für die Daten angeben, an denen Sie interessiert sind.

SharePoint-API-Stammressourcen

Die folgenden Beispiele sind relativ zu https://graph.microsoft.com/v1.0.

Pfad Beschreibung
/sites/root Standardmäßige Website der Organisation
/sites/{site-id} Zugriff auf eine bestimmte Website anhand ihrer ID
/sites/{site-id}/drive Zugriff auf das standardmäßige Laufwerk (Dokumentbibliothek) für die angegebene Website
/sites/{site-id}/drives Aufzählung der Laufwerke (Dokumentbibliotheken) unter der Website
/sites/{site-id}/sites Aufzählung der Unterwebsites unter der site
/sites/{site-id}/lists Aufzählung der lists unter der site
/sites/{site-id}/lists/{list-id}/items Aufzählung der listItems unter der list
/groups/{group-id}/sites/root Zugriff auf die Teamwebsite einer Gruppe
/admin/sharepoint/settings Greifen Sie auf die Einstellungen auf Administratorebene des organization zu.

Websites können auch mithilfe des SharePoint-Hostnamens, gefolgt von einem Doppelpunkt und dem relativen Pfad zur Website adressiert werden. Sie können optional wieder zur Adressierung des Ressourcenmodells wechseln, indem Sie einen weiteren Doppelpunkt am Ende setzen.

Path Beschreibung
/sites/contoso.sharepoint.com:/teams/hr Die Seite ist https://contoso.sharepoint.com/teams/hr zugeordnet.
/sites/contoso.sharepoint.com:/teams/hr:/drive Zugriff auf das standardmäßige Laufwerk für diese Website

Hinweis für bestehende SharePoint-Entwickler

Zwischen der Microsoft Graph-SharePoint-API und den CSOM-APIs bestehen einige wesentliche Unterschiede. Die site-Ressource ist SPWeb zugeordnet. Die Stammwebsite (SPSite) in einer Websitesammlung verfügt über ein siteCollection-Facet, das Informationen über enthält. Da IDs für Websites nur innerhalb einer Websitesammlung eindeutig sind, müssen zur Adressierung einer Website nach ID sowohl die Websitesammlungs-ID als auch die Website-ID angegeben werden.

GET https://graph.microsoft.com/v1.0/sites/{hostname},{spsite-id},{spweb-id}/

Eine URL, die nur mit dem Hostnamen erstellt wird, verweist auf die Stammwebsite (SPWeb) in der Standardwebsitesammlung.

GET https://graph.microsoft.com/v1.0/sites/{hostname}

Eine URL, die nur mit dem Hostnamen und der siteCollection-ID (SPSite) erstellt wird, verweist auf die Stammwebsite (SPWeb) in der angegebenen Websitesammlung.

GET https://graph.microsoft.com/v1.0/sites/{hostname},{spsite-id}

Eine URL, die nur mit der siteCollection-ID (SPSite) erstellt wird, verweist auf die Stammwebsite (SPWeb) in der angegebenen Websitesammlung.

GET https://graph.microsoft.com/v1.0/sites/{spsite-id}

Zuordnen von SharePoint REST v1-API-URLs zu Microsoft Graph-API-URLs

Die folgenden Beispiele helfen Entwicklern, die mit SharePoint REST v1-API-URL-Mustern vertraut sind, ihre Anwendungsfälle an ähnliche Microsoft Graph-API-URL-Muster anzupassen.

Muster 1

Greifen Sie auf die Website zu, die der angegebenen SPWeb URL zugeordnet ist.

GET https://graph.microsoft.com/v1.0/sites/{hostname}:/{site-server-relative-url}

Beispiel 1

Im folgenden Beispiel werden Informationen zur Website zurückgegeben, die der SPWeb URL https://contoso.sharepoint.com/teams/hr/benefitszugeordnet ist. Beachten Sie, dass benefits innerhalb der Websitesammlung (SPSite) unter https://contoso.sharepoint.com/teams/hristSPWeb.

GET https://graph.microsoft.com/v1.0/sites/contoso.sharepoint.com:/teams/hr/benefits

Muster 2

Greifen Sie auf das Listenelement zu, das den folgenden Komponenten zugeordnet ist.

Komponente Beschreibung
{hostname} Der Hostname der Website.
{site-server-relative-url} Die serverrelative URL der Website (SPWeb).
{list-id} Die GUID-ID der Liste (SPList) auf der Website.
{item-id} Die GUID oder ganzzahlige ID des Listenelements (SPListItem) in der Liste.

Das folgende Beispiel zeigt eine Anforderung, die die vorherigen Komponenten enthält.

GET https://graph.microsoft.com/v1.0/sites/{hostname}:/{site-server-relative-url}:/lists/{list-id}/items/{item-id}

Beispiel 2

Im folgenden Beispiel werden Informationen zum mit der SPListItem ganzzahligen ID 42 zurückgegeben, die zur Liste mit der GUID-ID 5771e865-4e91-48b8-a0de-35a25d4e52fegehört. Diese Liste gehört zu der Website, die der SPWeb URL https://contoso.sharepoint.com/teams/hr/benefitszugeordnet ist.

GET https://graph.microsoft.com/v1.0/sites/contoso.sharepoint.com:/teams/hr/benefits:/lists/5771e865-4e91-48b8-a0de-35a25d4e52fe/items/42