driveItem: createLink

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 .

Sie können die createLink-Aktion verwenden, um ein driveItem über einen Freigabelink freizugeben.

Die Aktion createLink erstellt einen neuen Link zum Teilen, falls der angegebene Linktyp für die aufrufende Anwendung noch nicht existiert. Existiert für die App bereits ein Link zum Teilen des angegebenen Typs, wird dieser bereits vorhandene Link zurückgegeben.

DriveItem-Ressourcen erben Berechtigungen zum Teilen von ihren Vorgängern.

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/{driveId}/items/{itemId}/createLink
POST /groups/{groupId}/drive/items/{itemId}/createLink
POST /me/drive/items/{itemId}/createLink
POST /sites/{siteId}/drive/items/{itemId}/createLink
POST /users/{userId}/drive/items/{itemId}/createLink

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich.
Content-Type application/json. Erforderlich.

Anforderungstext

Der Anforderungstext definiert die Eigenschaften des Links zum Teilen, den Ihre Anwendung anfordert. Bei der Anforderung sollte es sich um ein JSON-Objekt mit folgenden Eigenschaften handeln:

Eigenschaft Typ Beschreibung
type Zeichenfolge Optional.Der Typ des zu erstellenden Freigabelinks.
scope Zeichenfolge Optional. Der Bereich des zu erstellenden Links. Anonym, Organisation oder Benutzer.
expirationDateTime DateTimeOffset Optional. Eine Zeichenfolge mit dem Format yyyy-MM-ddTHH:mm:ssZ von DateTime gibt die Ablaufzeit der Berechtigung an.
password String Optional.Das Kennwort des Freigabelinks, der vom Ersteller festgelegt wird.
recipients driveRecipient-Sammlung Optional. Eine Sammlung von Empfängern, die Zugriff auf den Freigabelink erhalten.

Für den Parameter type sind die folgenden Werte zulässig:

Typwert Beschreibung
Ansicht Erstellt einen schreibgeschützten Link zum driveItem.
Bewertung Erstellt einen Rezensionslink zum driveItem. Diese Option ist nur für Dateien in OneDrive for Business und SharePoint verfügbar.
Bearbeiten Erstellt einen Link mit Lese-/Schreibzugriff auf das driveItem -Objekt.
Einbinden Erstellt einen einbettbaren Link zum driveItem.
blocksDownload Erstellt einen schreibgeschützten Link, der den Download auf driveItem blockiert. Diese Option ist nur für Dateien in OneDrive for Business und SharePoint verfügbar.
createOnly Erstellt einen Nur-Upload-Link zum driveItem. Diese Option ist nur für Ordner in OneDrive for Business und SharePoint verfügbar.
Addressbar Erstellt den Standardlink, der in den Browseradressleisten für neu erstellte Dateien angezeigt wird. Nur in OneDrive for Business und SharePoint verfügbar. Der Organisationsadministrator konfiguriert, ob dieser Linktyp unterstützt wird und welche Features von diesem Linktyp unterstützt werden.
adminDefault Erstellt den Standardlink zum driveItem, wie vom Administrator der Organisation festgelegt. Nur in OneDrive for Business und SharePoint verfügbar. Die Richtlinie wird vom Administrator für die Organisation erzwungen.

Bereichstypen

Für den Parameter scope sind die nachfolgend aufgeführten Werte zulässig.

Wert Beschreibung
Anonym Jeder Benutzer, der über den Link verfügt, hat Zugriff, ohne sich anmelden zu müssen. Dies kann auch Personen von außerhalb Ihrer Organisation einschließen. Die Unterstützung für anonyme Links kann von einem Administrator deaktiviert werden.
Organisation Jede Person, die bei Ihrer Organisation (Mandant) angemeldet ist, kann den Link verwenden, um Zugriff zu erhalten. Nur in OneDrive for Business und SharePoint verfügbar.
users Bestimmte Personen in der Empfängersammlung können den Link verwenden, um Zugriff zu erhalten. Nur in OneDrive for Business und SharePoint verfügbar.

Antwort

Bei Erfolg gibt diese Methode eine einzige Ressource des Typs Permission im Antworttext zurück. Dabei handelt es sich um die angeforderten Berechtigungen zum Teilen.

Die Antwort 201 Created ist, wenn ein neuer Freigabelink für das driveItem erstellt wird oder 200 OK wenn ein vorhandener Link zurückgegeben wird.

Beispiele

Im folgenden Beispiel wird die Erstellung eines Freigabelinks für das von {itemId} im OneDrive des Benutzers angegebene driveItem angefordert. Der Link zum Teilen ist schreibgeschützt konfiguriert und kann von allen verwendet werden.

Anforderung

POST /me/drive/items/{itemId}/createLink
Content-Type: application/json

{
  "type": "view",
  "scope": "anonymous",
  "password": "String",
  "recipients": [
    {
      "@odata.type": "microsoft.graph.driveRecipient"
    }
  ]
}

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var type = "view";

var scope = "anonymous";

var password = "String";

var recipients = new List<DriveRecipient>()
{
    new DriveRecipient
    {
    }
};

await graphClient.Me.Drive.Items["{driveItem-id}"]
    .CreateLink(type,scope,null,password,null,recipients,null)
    .Request()
    .PostAsync();

Wichtig

Microsoft Graph SDKs verwenden standardmäßig die Version 1.0 der API und unterstützen nicht alle Typen, Eigenschaften und APIs, die in der Betaversion verfügbar sind. Ausführliche Informationen zum Zugreifen auf die Beta-API mit dem SDK finden Sie unter Verwenden der Microsoft Graph-SDKs mit der Beta-API.

Ausführliche Informationen zum Hinzufügen des SDK zu Ihrem Projekt und zum Erstellen einer authProvider-Instanz finden Sie in der SDK-Dokumentation.

Antwort

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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

{
  "id": "123ABC",
  "roles": ["write"],
  "link": {
    "type": "view",
    "scope": "anonymous",
    "webUrl": "https://1drv.ms/A6913278E564460AA616C71B28AD6EB6",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  },
  "hasPassword": true
}

OneDrive for Business und SharePoint unterstützen Links, die nur innerhalb eines Unternehmens geteilt werden können. Diese ähneln anonymen Links, funktionieren aber nur für Mitglieder der Besitzorganisation. Verwenden Sie den Parameter scope mit dem Wert organization, um einen Link zu erstellen, der nur innerhalb eines Unternehmens geteilt werden kann.

Anforderung

POST /me/drive/items/{item-id}/createLink
Content-Type: application/json

{
  "type": "edit",
  "scope": "organization"
}

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var type = "edit";

var scope = "organization";

await graphClient.Me.Drive.Items["{driveItem-id}"]
    .CreateLink(type,scope,null,null,null,null,null)
    .Request()
    .PostAsync();

Wichtig

Microsoft Graph SDKs verwenden standardmäßig die Version 1.0 der API und unterstützen nicht alle Typen, Eigenschaften und APIs, die in der Betaversion verfügbar sind. Ausführliche Informationen zum Zugreifen auf die Beta-API mit dem SDK finden Sie unter Verwenden der Microsoft Graph-SDKs mit der Beta-API.

Ausführliche Informationen zum Hinzufügen des SDK zu Ihrem Projekt und zum Erstellen einer authProvider-Instanz finden Sie in der SDK-Dokumentation.

Antwort

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

{
  "id": "123ABC",
  "roles": ["write"],
  "link": {
    "type": "edit",
    "scope": "organization",
    "webUrl": "https://contoso-my.sharepoint.com/personal/ellen_contoso_com/...",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  }
}

Bei Verwendung des Linktyps embed kann der zurückgegebene Wert für „webUrl“ in ein HTML-Element des Typs <iframe> eingebettet werden. Wird ein Einbettungslink erstellt, enthält die Eigenschaft webHtml den HTML-Code für einen <iframe>, der den Inhalt hostet.

Hinweis: Einbettungslinks werden nur für das persönliche OneDrive unterstützt.

Anforderung

POST /me/drive/items/{item-id}/createLink
Content-Type: application/json

{
  "type": "embed"
}

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var type = "embed";

await graphClient.Me.Drive.Items["{driveItem-id}"]
    .CreateLink(type,null,null,null,null,null,null)
    .Request()
    .PostAsync();

Wichtig

Microsoft Graph SDKs verwenden standardmäßig die Version 1.0 der API und unterstützen nicht alle Typen, Eigenschaften und APIs, die in der Betaversion verfügbar sind. Ausführliche Informationen zum Zugreifen auf die Beta-API mit dem SDK finden Sie unter Verwenden der Microsoft Graph-SDKs mit der Beta-API.

Ausführliche Informationen zum Hinzufügen des SDK zu Ihrem Projekt und zum Erstellen einer authProvider-Instanz finden Sie in der SDK-Dokumentation.

Antwort

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

{
  "id": "123ABC",
  "roles": ["read"],
  "link": {
    "type": "embed",
    "webHtml": "<IFRAME src=\"https://onedrive.live.com/...\"></IFRAME>",
    "webUrl": "https://onedive.live.com/...",
    "application": {
      "id": "1234",
      "displayName": "Sample Application"
    },
  }
}

HinwBemerkungeneise

  • Wenn Sie einen Link basierend auf der Standardrichtlinie der Organisation und den Berechtigungen des Aufrufers für das driveItem erstellen möchten, lassen Sie den Bereich und die Typparameter aus.
  • Mit dieser Aktion erstellte Links laufen nicht ab, es sei denn, für die Organisation wird eine Standardablaufrichtlinie erzwungen.
  • Links sind in den Freigabeberechtigungen für das driveItem sichtbar und können von einem Besitzer des driveItem entfernt werden.
  • Links zeigen immer auf die aktuelle Version eines driveItem, es sei denn, das driveItem ist ausgecheckt (nur SharePoint).