Sie können die Aktion createLink verwenden, um ein DriveItem über einen Link zu teilen.
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)
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
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:
Name
Typ
Beschreibung
type
string
Der Typ des Link zum Teilen, der erstellt werden soll. Möglich sind view, edit oder embed.
password
string
Das Kennwort des Freigabelinks, der vom Ersteller festgelegt wird. Optional und nur OneDrive Persönlich.
expirationDateTime
string
Eine Zeichenfolge mit dem Format yyyy-MM-ddTHH:mm:ssZ von DateTime gibt die Ablaufzeit der Berechtigung an.
scope
string
Optional. Der Bereich des zu erstellenden Links. Möglich sind anonymous oder organization.
Linktypen
Für den Parameter type sind die folgenden Werte zulässig:
Typwert
Beschreibung
view
Erstellt einen schreibgeschützten Link zum DriveItem.
edit
Erstellt einen Link mit Lese-/Schreibzugriff zum DriveItem.
embed
Erstellt einen einbettbaren Link zum DriveItem. Diese Option ist nur für das persönliche OneDrive verfügbar.
Bereichstypen
Für den Parameter scope sind die nachfolgend aufgeführten Werte zulässig.
Wenn der scope-Parameter nicht angegeben ist, wird der Standardlinktyp für die Organisation erstellt.
Wert
Beschreibung
anonymous
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.
organization
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.
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.
Wird ein neuer Link zum Teilen für das Element erstellt, lautet die Antwort 201 Created. Wird ein bereits vorhandener Link zurückgegeben, lautet die Antwort 200 OK.
Beispiel
Im folgenden Beispiel wird das Erstellen eines Links zum Teilen für das DriveItem angefordert, das durch {ItemId} im OneDrive des Benutzers angegeben wurde.
Der Link zum Teilen ist schreibgeschützt konfiguriert und kann von allen verwendet werden.
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var type = "view";
var password = "ThisIsMyPrivatePassword";
var scope = "anonymous";
await graphClient.Me.Drive.Items["{driveItem-id}"]
.CreateLink(type,scope,null,password,null,null)
.Request()
.PostAsync();
Erstellen von Links, die nur innerhalb eines Unternehmens geteilt werden können
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.
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)
.Request()
.PostAsync();
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.