Freigeben über


Registrieren von Anwendungsberechtigungen vom Typ "Dateispeichercontainer"

Damit eine SharePoint Embedded-Anwendung mit Containern in einem nutzenden Mandanten interagieren kann, muss der Containertyp zuerst im nutzenden Mandanten registriert werden. Die Containertypregistrierung erfolgt, wenn die besitzende Anwendung die Registrierungs-API aufruft, um anzugeben, welche Berechtigungen für ihren Containertyp ausgeführt werden können. Die Registrierungs-API gewährt auch Zugriff auf andere Gast-Apps, um mit den Containern der besitzenden Anwendung zu interagieren. Eine SharePoint Embedded-Anwendung kann z. B. Berechtigungen für eine andere Anwendung erteilen– einer Gast-App, damit die Gast-App Sicherungsvorgänge für ihre Container ausführen kann.

Da die Registrierungs-API die Berechtigungen steuert, die eine SharePoint Embedded-Anwendung für den Container im nutzenden Mandanten ausführen kann, sollte dieser Aufruf eine der ersten aufgerufenen APIs sein. Wenn dies nicht der Vorgang ist, führt dies zu Fehlern beim Aufrufen anderer APIs für den Container und/oder den Inhalt in den Containern.

Es gibt keine Einschränkungen, wie oft die Registrierungs-API aufgerufen werden kann. Wie oft die Registrierungs-API aufgerufen wird und wann sie aufgerufen wird, hängt von der SharePoint Embedded-Anwendung ab. Der letzte erfolgreiche Aufruf der Registrierungs-API bestimmt jedoch die Einstellungen, die im nutzenden Mandanten verwendet werden.

Hinweis

Nur die besitzende Anwendung des Containertyps kann die Registrierungs-API im nutzenden Mandanten aufrufen.

Die Registrierungs-API ist KEIN Graph-API und kann nur mit einer AppOnly und einem zertifikatbasierten Zugriffstoken aufgerufen werden. Erfahren Sie mehr über die Authentifizierung.

Containertypberechtigungen

Die Registrierungs-API bestimmt, welche Berechtigungen eine SharePoint Embedded-Anwendung für Container und Inhalte in Containern für den angegebenen Containertyp ausführen kann.

Berechtigung Beschreibung
Keine Verfügt über keine Berechtigungen für Container oder Inhalte dieses Containertyps.
ReadContent Kann Den Inhalt von Containern dieses Containertyps lesen.
WriteContent Kann Inhalte für diesen Containertyp in Container schreiben. Diese Berechtigung kann ohne die ReadContent-Berechtigung nicht erteilt werden.
Erstellen Kann Container dieses Containertyps erstellen.
Löschen Kann Container dieses Containertyps löschen.
Lesen Kann die Metadaten von Containern dieses Containertyps lesen.
Schreiben Kann die Metadaten von Containern dieses Containertyps aktualisieren.
EnumeratePermissions Kann die Member eines Containers und deren Rollen für Container dieses Containertyps auflisten.
AddPermissions Kann dem Container für Container dieses Containertyps Member hinzufügen.
UpdatePermissions Kann vorhandene Mitgliedschaften im Container für Container dieses Containertyps aktualisieren (ändern).
DeletePermissions Kann andere Member (aber nicht selbst) aus dem Container für Container dieses Containertyps löschen.
DeleteOwnPermissions Kann die eigene Mitgliedschaft aus dem Container für Container dieses Containertyps entfernen.
ManagePermissions Kann Mitglieder in den Containerrollen für Container dieses Containertyps hinzufügen, entfernen (einschließlich selbst) oder aktualisieren.
Vollständig Verfügt über alle Berechtigungen für Container dieses Containertyps.

HTTP-Anforderung

PUT {RootSiteUrl}/_api/v2.1/storageContainerTypes/{containerTypeId}/applicationPermissions

Hinweis

Dies ist KEIN Graph-API

{RootSiteURL} ist die SharePoint-URL des Nutzens des Mandanten. Beispiel: https://contoso.sharepoint.com.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung der Containertypberechtigungen für die SharePoint Embedded-Anwendungen an.

Antwort

Bei erfolgreicher Ausführung gibt die Methode einen 200 OK Antwortcode und die Containertypberechtigungen zurück, die für die SharePoint Embedded-Anwendungen im Antworttext konfiguriert sind.

HTTP-Code Beschreibung
400 Ungültige Anforderung.
401 Für die Anforderung fehlen gültige Anmeldeinformationen für die Authentifizierung.
403 Die angegebenen Anmeldeinformationen für die Authentifizierung sind gültig, reichen aber nicht aus, um den angeforderten Vorgang auszuführen. Beispiele: Die aufrufende App ist nicht die besitzereigene App des Containertyps.
404 Der Containertyp ist nicht vorhanden.

Beispiele

Registrieren des Containertyps in einem verbrauchenden Mandanten

Registrieren Sie den Containertyp im nutzenden Mandanten, und gewähren Sie der besitzenden Anwendung (AppId 71392b2f-1765-406e-86af-5907d9bdb2ab) vollständige Berechtigungen für delegierte und AppOnly-Aufrufe.

Anforderung

PUT {RootSiteUrl}/_api/v2.1/storageContainerTypes/{containerTypeId}/applicationPermissions
Content-Type: application/json

{
  "value": [
    {
      "appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
      "delegated": ["full"],
      "appOnly": ["full"]
    }
  ]
}

Antwort

HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
      "delegated": ["full"],
      "appOnly": ["full"]
    }
  ]
}

Registrieren des Containertyps in einem Nutzen-Mandanten mit Berechtigungen für eine Gast-App

Registrieren Sie den Containertyp im nutzenden Mandanten, und gewähren Sie der besitzenden Anwendung (AppId 71392b2f-1765-406e-86af-5907d9bdb2ab) vollständige Berechtigungen für delegierte und AppOnly-Aufrufe. Darüber hinaus gewähren Sie einer Gast-App (AppId 89ea5c94-7736-4e25-95ad-3fa95f62b6) Lese- und Schreibberechtigungen nur für delegierte Aufrufe.

Anforderung

PUT /storagecontainerTypes/{containerTypeId}/applicationPermissions
Content-Type: application/json

{
  "value": [
    {
      "appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
      "delegated": ["full"],
      "appOnly": ["full"]
    },
    {
      "appId": "89ea5c94-7736-4e25-95ad-3fa95f62b6",
      "delegated": [read", "write"],
      "appOnly": ["none"]
    }
  ]
}

Antwort

HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
      "delegated": ["full"],
      "appOnly": ["read"]
    },
    {
      "appId": "89ea5c94-7736-4e25-95ad-3fa95f62b6",
      "delegated": ["read", "write"],
      "appOnly": ["none"]
    }
  ]
}