driveItem: einladen

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.

Senden einer Freigabeeinladung für ein driveItem. Eine Freigabeeinladung gewährt den Empfängern Berechtigungen und sendet ihnen optional eine E-Mail, um sie darüber zu informieren, dass das Element geteilt wurde.

Wichtig

  • Berechtigungen können auf dem StammlaufwerkElement der Laufwerke mit dem Laufwerktyp ( personal OneDrive für Privat) nicht erstellt oder geändert werden.
  • Neue Gäste können nicht mit dem reinen App-Zugriff eingeladen werden. Vorhandene Gäste können über Nur-App-Anfragen eingeladen werden.

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, Sites.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Files.ReadWrite Files.ReadWrite.All
Anwendung Files.ReadWrite.All Sites.ReadWrite.All

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}/invite
POST /groups/{group-id}/drive/items/{item-id}/invite
POST /me/drive/items/{item-id}/invite
POST /sites/{siteId}/drive/items/{itemId}/invite
POST /users/{userId}/drive/items/{itemId}/invite

Anforderungstext

Geben Sie im Anforderungstext ein JSON-Objekt mit den folgenden Parametern an.

{
  "requireSignIn": false,
  "sendInvitation": false,
  "roles": [ "read | write"],
  "recipients": [
    { "@odata.type": "microsoft.graph.driveRecipient" },
    { "@odata.type": "microsoft.graph.driveRecipient" }
  ],
  "message": "string"
}
Parameter Typ Beschreibung
recipients driveRecipient collection Eine Sammlung von Empfängern, die Zugriff und die Freigabeeinladung erhalten.
message String Eine formatierte Nur-Text-Nachricht, die in der Freigabeeinladung enthalten ist. Maximale Länge: 2.000 Zeichen.
requireSignIn Boolean Gibt an, ob der Empfänger der Einladung sich anmelden muss, um auf das freigegebene Element zuzugreifen.
sendInvitation Boolescher Wert Gibt an, ob eine E-Mail oder ein Beitrag generiert wird (false) oder ob die Berechtigung kürzlich erstellt wurde (true).
roles Zeichenfolgenauflistung Gibt die Rollen an, die den Empfängern der Freigabeeinladung zugewiesen sind.
expirationDateTime DateTimeOffset Gibt die dateTime-Zeit an, nach der die Berechtigung abläuft. Für OneDrive für den Arbeitsplatz oder die Schule/Universität und SharePoint gilt expirationDateTime nur für sharingLink-Berechtigungen . Verfügbar für OneDrive für Geschäfts-, Schul- oder Unikonten, SharePoint und persönliche Premium-OneDrive-Konten.
password String Das Kennwort, das der Ersteller für die Einladung festgelegt hat. Optional und nur OneDrive für zuhause.
retainInheritedPermissions Boolescher Wert Optional. Wenn true (Standard), bleiben alle vorhandenen geerbten Berechtigungen für das freigegebene Element erhalten, wenn dieses Element zum ersten Mal freigegeben wird. If false, werden bei der ersten Freigabe alle vorhandenen Berechtigungen entfernt. Nicht unterstützt mit SharePoint Embedded.

Antwort

Bei erfolgreicher Ausführung gibt diese Methode einen 200 OK Antwortcode und eine Auflistung von Berechtigungsobjekten im Antworttext zurück.

Weitere Informationen zur Rückgabe von Fehlern finden Sie unter Fehlerantworten.

Teilweise Erfolgsantwort

Beim Einladen mehrerer Empfänger kann die Benachrichtigung für einige erfolgreich sein und für andere fehlschlagen. In diesem Fall gibt der Dienst eine Teilerfolgsmeldung mit einem 207 Multi-Status Status zurück. Wenn ein teilweiser Erfolg zurückgegeben wird, enthält die Antwort für jeden fehlgeschlagenen Empfänger ein Fehlerobjekt mit Informationen darüber, was schief gelaufen ist und wie es behoben werden kann. Weitere Informationen finden Sie unter Beispiel 2.

Fehler beim Senden von Einladungsbenachrichtigungen

Die folgende Tabelle zeigt einige andere Fehler, die in Ihrer App innerhalb der verschachtelten innererror-Objekte auftreten können, wenn das Senden einer Benachrichtigung fehlschlägt. Apps sind nicht erforderlich, um diese Fehler zu behandeln.

Code Beschreibung
accountVerificationRequired Die Kontoüberprüfung ist erforderlich, um das Senden von Benachrichtigungen freizugeben.
hipCheckRequired Need to solve HIP (Host Intrusion Prevention) check to unlock block sending notifications.
exchangeInvalidUser Das Postfach des aktuellen Benutzers wurde nicht gefunden.
exchangeOutOfMailboxQuota Außerhalb des Kontingents.
exchangeMaxRecipients Die maximale Anzahl von Empfängern, die gleichzeitig benachrichtigt werden können, wurde überschritten.

Hinweis: Der Dienst kann jederzeit neue Fehlercodes hinzufügen oder die Rückgabe alter Fehlercodes beenden.

Beispiele

Beispiel 1: Senden einer Freigabeeinladung

Im folgenden Beispiel wird gezeigt, wie Sie eine Freigabeeinladung an einen Benutzer mit der E-Mail-Adresse robin@contoso.orgsenden, einschließlich einer Nachricht zu einer Datei, die zur Zusammenarbeit verwendet wird. Die Einladung gewährt Robin Lese-/Schreibzugriff auf die Datei.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/invite
Content-type: application/json

{
  "recipients": [
    {
      "email": "robin@contoso.org"
    }
  ],
  "message": "Here's the file that we're collaborating on.",
  "requireSignIn": true,
  "sendInvitation": true,
  "roles": [ "write" ],
  "password": "password123",
  "expirationDateTime": "2018-07-15T14:00:00.000Z"
}

Antwort

Das folgende Beispiel zeigt die Antwort.

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

{
  "value": [
    {
      "@deprecated.GrantedTo": "GrantedTo has been deprecated. Refer to GrantedToV2",
      "grantedTo": {
        "user": {
          "displayName": "Robin Danielsen",
          "id": "42F177F1-22C0-4BE3-900D-4507125C5C20"
        }
      },
      "grantedToV2": {
        "user": {
          "id": "42F177F1-22C0-4BE3-900D-4507125C5C20",
          "displayName": "Robin Danielsen"
        },
        "siteUser": {
          "id": "1",
          "displayName": "Robin Danielsen",
          "loginName": "Robin Danielsen"
        }
      },
      "hasPassword": true,
      "id": "CCFC7CA3-7A19-4D57-8CEF-149DB9DDFA62",
      "invitation": {
        "email": "robin@contoso.com",
        "signInRequired": true
      },
      "roles": [ "write" ],
      "expirationDateTime": "2018-07-15T14:00:00.000Z"
    }
  ]
}

Beispiel 2: Freigabeeinladung mit Teilerfolg senden

Das folgende Beispiel zeigt eine Anforderung, die teilweise erfolgreich ist.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/beta/me/drive/items/{item-id}/invite
Content-type: application/json

{
  "recipients": [
    {
      "email": "helga@contoso.com"
    },
    {
      "email": "robin@contoso.org"
    }
  ],
  "message": "Here's the file that we're collaborating on.",
  "requireSignIn": true,
  "sendInvitation": true,
  "roles": [ "write" ],
  "password": "password123",
  "expirationDateTime": "2018-07-15T14:00:00.000Z"
}

Antwort

Das folgende Beispiel zeigt die Teilantwort.

HTTP/1.1 207 Multi-Status
Content-type: application/json

{
  "value": [
    {
      "grantedTo": {
        "user": {
          "displayName": "Helga Hammeren",
          "id": "5D8CA5D0-FFF8-4A97-B0A6-8F5AEA339681"
        }
      },
      "id": "1EFG7CA3-7A19-4D57-8CEF-149DB9DDFA62",
      "invitation": {
        "email": "helga@contoso.com",
        "signInRequired": true
      },
      "roles": [ "write" ],
      "error": {
        "code":"notAllowed",
        "message":"Account verification needed to unblock sending emails.",
        "localizedMessage": "Kontobestätigung erforderlich, um das Senden von E-Mails zu entsperren.",
        "fixItUrl":"http://g.live.com/8SESkydrive/VerifyAccount",
        "innererror":{
          "code":"accountVerificationRequired"
        }
      }
    },
    {
      "grantedTo": {
        "user": {
          "displayName": "Robin Danielsen",
          "id": "42F177F1-22C0-4BE3-900D-4507125C5C20"
        }
      },
      "id": "CCFC7CA3-7A19-4D57-8CEF-149DB9DDFA62",
      "invitation": {
        "email": "robin@contoso.com",
        "signInRequired": true
      },
      "roles": [ "write" ],
      "expirationDateTime": "2018-07-15T14:00:00.000Z"
    }
  ]
}

Eine Liste der verfügbaren Rollen finden Sie unter Rollen-Eigenschaftswerte.