Erstellen der Berechtigung für ein DriveItem

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Erstellen Sie ein neues Berechtigungsobjekt auf einem driveItem.

Wichtig

Für diese API gelten die folgenden Einschränkungen:

  • Für OneDrive für den Arbeitsplatz oder die Schule/Universität und SharePoint Online können Sie diese Methode nur verwenden, um eine neue Anwendungsberechtigung zu erstellen. Wenn Sie eine neue Benutzerberechtigung in einem DriveItem erstellen möchten, lesen Sie Einladung. Weitere Informationen zu Anwendungsberechtigungen finden Sie unter Übersicht über ausgewählte Berechtigungen in OneDrive und SharePoint.
  • Für SharePoint Embedded können Sie diese Methode nur verwenden, um eine neue sharePointGroup-Berechtigung mit reinem App-Zugriff zu erstellen. Sie können keine Berechtigung für das Stammelement eines Containers erstellen.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Weltweiter Service US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet
✅ ✅ ✅ ✅

Berechtigungen

Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Files.ReadWrite Files. ReadWrite.All, Files. SelectedOperations.Selected, Sites.ReadWrite.All, Sites.FullControl.All, Sites.Manage.All, Sites.Selected, Lists.SelectedOperations.Selected, ListItems.SelectedOperations.Selected
Delegiert (persönliches Microsoft-Konto) Files.ReadWrite Files.ReadWrite.All
Anwendung Files.ReadWrite.All Sites.FullControl.All, Sites.Manage.All, Sites.ReadWrite.All, Sites.Selected, Files. SelectedOperations.Selected, Lists.SelectedOperations.Selected, ListItems.SelectedOperations.Selected

Hinweis

SharePoint Embedded benötigt die FileStorageContainer.Selected Berechtigung für den Zugriff auf den Inhalt des Containers. Diese Berechtigung unterscheidet sich von den zuvor erwähnten. Zusätzlich zu den Microsoft Graph-Berechtigungen muss Ihre App über die erforderlichen Containertypberechtigungen verfügen, um diese API aufzurufen. Weitere Informationen finden Sie unter SharePoint Embedded-Authentifizierung und -Autorisierung.

HTTP-Anforderung

POST /drives/{drive-id}/items/{item-id}/permissions
POST /groups/{group-id}/drive/items/{item-id}/permissions
POST /me/drive/items/{item-id}/permissions
POST /sites/{siteId}/drive/items/{itemId}/permissions
POST /users/{userId}/drive/items/{itemId}/permissions

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über Authentifizierung und Autorisierung.
Content-Type application/json. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung des Berechtigungsobjekts an.

Wichtig

  • Diese API akzeptiert nur grantedToV2 als Eingabe für das Berechtigungsobjekt . Andere Eigenschaften wie grantedToIdentitiesV2 oder die veralteten grantedTo und grantedToIdentities werden nicht akzeptiert.
  • Wenn Sie für SharePoint Embedded eine neue sharePointGroup-Berechtigung erstellen, empfehlen wir, dass Sie mithilfe der grantedToV2.sharePointGroup.id-Eigenschaft im Anforderungstext auf sharePointGroup verweisen. Diese ID sollte der ID der sharePointGroup-Eigenschaft zugeordnet werden. Weitere Informationen finden Sie unter Beispiel 2. Es wird nicht empfohlen, mithilfe der principalId auf eine sharePointGroup zu verweisen, da die principalId nur innerhalb der Website eindeutig ist, im Gegensatz zur ID der sharePointGroup, die global eindeutig ist. In diesem Fall muss der Anforderungstext sowohl die ID als auch displayName in der grantedToV2.siteGroup-Eigenschaft enthalten. Die ID muss auf die principalId der sharePointGroup verweisen und displayName muss auf den Titel der sharePointGroup verweisen. Weitere Informationen finden Sie unter Beispiel 3.

Antwort

Bei erfolgreicher Ausführung gibt diese Methode einen 201 Created Antwortcode und ein Berechtigungsobjekt im Antworttext zurück.

Beispiele

Beispiel 1: Hinzufügen einer Anwendungsberechtigung zu einem driveItem in OneDrive oder SharePoint Online

Im folgenden Beispiel wird gezeigt, wie Sie eine writeBerechtigung für die Anwendung, die durch identifiziert wird89ea5c94-7736-4e25-95ad-3fa95f62b66e, auf einem driveItem01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU hinzufügen, das Contoso Time Manager App in einem Laufwerk identifiziert durch identifiziert wirdb!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/beta/drives/b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop/items/01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU/permissions
Content-Type: application/json

{
  "grantedToV2": {
    "application": {
      "id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e"
    }
  },
  "roles": ["write"]
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "aTowaS50fG1zLnNwLmV4dHw4OWVhNWM5NC03NzM2LTRlMjUtOTVhZC0zZmE5NWY2MmI2NmVAZDljZTBmYzEtNjFkOC00YTJlLWI1ZDMtMTg3NzBkZjA2NzJj",
  "roles": [
    "write"
  ],
  "grantedTo": {
    "application": {
      "id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e",
      "displayName": "Contoso Time Manager App"
    }
  },
  "grantedToV2": {
    "application": {
      "id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e",
      "displayName": "Contoso Time Manager App"
    }
  }
}

Beispiel 2: Hinzufügen einer SharePoint-Gruppenberechtigung zu einem driveItem in einem SharePoint Embedded-Container mithilfe seiner ID

Im folgenden Beispiel wird gezeigt, wie Sie eine writeBerechtigung für sharePointGroupinternal collaborators für ein driveItem01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU hinzufügen, das in einem SharePoint Embedded fileStorageContainer identifiziert wird, der durch identifiziert wirdb!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/beta/drives/b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop/items/01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU/permissions
Content-Type: application/json

{
  "grantedToV2": {
    "sharePointGroup": {
      "id": "ZGYwZTEzYTgtOTExOS00MjdmLWEzNjktOTdjOWM3YjNlYjcyXzE0"
    }
  },
  "roles": ["write"]
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "aTowaS50fG1zLnNwLmV4dHwxMEBkOWNlMGZjMS02MWQ4LTRhMmUtYjVkMy0xODc3MGRmMDY3MmM=",
  "roles": [
    "write"
  ],
  "grantedToV2": {
    "sharePointGroup": {
      "id": "ZGYwZTEzYTgtOTExOS00MjdmLWEzNjktOTdjOWM3YjNlYjcyXzE0",
      "principalId": "10",
      "title": "Internal Collaborators"
    },
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  },
  "grantedTo": {
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  }
}

Beispiel 3: Hinzufügen einer SharePoint-Gruppenberechtigung zu einem driveItem in einem SharePoint Embedded-Container mithilfe der principalId

Im folgenden Beispiel wird gezeigt, wie Sie eine writeBerechtigung für sharePointGroupinternal collaborators für ein driveItem01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU hinzufügen, das in einem SharePoint Embedded fileStorageContainer identifiziert wird, der durch identifiziert wirdb!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/beta/drives/b!s8RqPCGh0ESQS2EYnKM0IKS3lM7GxjdAviiob7oc5pXv_0LiL-62Qq3IXyrXnEop/items/01V4EPHZNV2OJQJNBPWNCKDTXCQ5TSVBJU/permissions
Content-Type: application/json

{
  "grantedToV2": {
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  },
  "roles": ["write"]
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "aTowaS50fG1zLnNwLmV4dHwxMEBkOWNlMGZjMS02MWQ4LTRhMmUtYjVkMy0xODc3MGRmMDY3MmM=",
  "roles": [
    "write"
  ],
  "grantedToV2": {
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  },
  "grantedTo": {
    "siteGroup": {
      "id": "10",
      "displayName": "Internal Collaborators"
    }
  }
}