Freigabeeinladung senden

Namespace: microsoft.graph

Wichtig

APIs unter der /beta Version in Microsoft Graph können geändert werden. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in Version 1.0 verfügbar ist, verwenden Sie die Versionsauswahl .

Sendet eine Freigabeeinladung für ein DriveItem-Element. Eine Freigabeeinladung stellt Berechtigungen für Empfänger bereit und sendet optional eine E-Mail-Nachricht an den Empfänger, um diesen über die Freigabe in Kenntnis zu setzen.

Berechtigungen

Eine der nachfolgenden Berechtigungen ist erforderlich, um diese API aufrufen zu können. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie im Artikel zum Thema Berechtigungen.

Berechtigungstyp Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
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

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 Collection(DriveRecipient) Eine Sammlung der Empfänger, die Zugriff und die Freigabeeinladung erhalten.
message String Eine formatierte Nur-Text-Nachricht, die in der Freigabeeinladung enthalten ist. Die maximale Länge beträgt 2000 Zeichen.
requireSignIn Boolescher Wert 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 (falsch) oder ob nur die Berechtigung erstellt (true) wurde.
roles Collection(String) Gibt die Rollen an, die den Empfängern der Freigabeeinladung erteilt werden.
expirationDateTime DateTimeOffset Geben Sie DateTime an, nach dem die Berechtigung abläuft. Verfügbar für OneDrive for Business-, SharePoint- und Premium-konten für persönliche OneDrive.
password String Das Kennwort, das für die Einladung des Erstellers festgelegt wurde. Nur optional und OneDrive Persönlich

Beispiel

In diesem Beispiel wird eine Einladung zur Freigabe an einen Benutzer mit der E-Mail-Adresse "ryan@contoso.org" versandt, in der dieser über eine Datei für die Zusammenarbeit benachrichtigt wird. Die Einladung gewährt Ryan Lese-/ Schreibzugriff auf die Datei.

HTTP-Anforderung

Wenn die Methode erfolgreich verläuft, werden der Antwortcode 200 OK und das permission-Sammlungsobjekt im Antworttext zurückgegeben.

POST /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

Nachfolgend sehen Sie ein Beispiel der 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"
    }
  ]
}

Partielle Erfolgsantwort

Beim Einladen mehrerer Empfänger ist es möglich, dass die Benachrichtigung für einige erfolgreich ist und für andere fehlschlägt. In diesem Fall gibt der Dienst eine Teilweise-Erfolgsantwort mit dem HTTP-Statuscode 207 zurück. Wenn ein Teilerfolg zurückgegeben wird, enthält die Antwort für jeden fehlgeschlagenen Empfänger ein error Objekt mit Informationen dazu, was schief gelaufen ist und wie es behoben werden kann.

Nachfolgend sehen Sie ein Beispiel für die partielle Antwort.

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"
    }
  ]
}

SendNotification-Fehler

Im Folgenden finden Sie einige zusätzliche Fehler, auf die Ihre App innerhalb der geschachtelten Objekte stoßen innererror kann, wenn das Senden von Benachrichtigungen fehlschlägt. Apps müssen diese nicht verarbeiten.

Code Beschreibung
accountVerificationRequired Die Kontoüberprüfung ist erforderlich, um das Senden von Benachrichtigungen aufzuheben.
hipCheckRequired Sie müssen die HIP-Prüfung (Host Intrusion Prevention) lösen, um das Senden von Benachrichtigungen zu entsperren.
exchangeInvalidUser Das Postfach des aktuellen Benutzers wurde nicht gefunden.
exchangeOutOfMailboxQuota Außerhalb des Kontingents.
exchangeMaxRecipients Die maximale Anzahl von Empfängern, die gleichzeitig Benachrichtigungen gesendet werden können, wurde überschritten.

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

Hinweise

  • Laufwerke mit dem driveTypepersonal (OneDrive Personal) können keine Berechtigungen am Stamm-DriveItem erstellen oder ändern.
  • Eine Liste der verfügbaren Rollen finden Sie unter Rolleneigenschaftenwerte.

Fehlerantworten

Weitere Informationen dazu, wie Fehler zurückgegeben werden, finden Sie im Thema Fehlerantworten.