driveItem: lock

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.

Erwerben Sie eine exklusive Sperre für eine Datei, die durch ein driveItem dargestellt wird, oder erweitern Sie eine vorhandene Sperre, die Sie bereits besitzen. Solange die Sperre aufrechterhalten wird, werden andere Benutzer daran gehindert, eine Sperre für dieselbe Datei zu erwerben. Die Sperre läuft automatisch ab, nachdem die in der Anforderung angegebene Dauer abgelaufen ist.

Hinweis

Diese API gilt nur für driveItems , die Dateien darstellen. Sperren können nicht auf Ordner oder andere Nicht-Dateielemente angewendet werden. Anforderungen, die auf ein Nicht-Datei-DriveItem abzielen, werden mit 400 Bad Requestabgelehnt.

Ein einzelner Endpunkt verarbeitet sowohl die anfängliche Erfassung als auch die Aktualisierung. Der Server bestimmt welches Verhalten anhand des aktuellen Sperrstatus der Datei und der Identität des Aufrufers. Der Aufrufer muss nicht nachverfolgen, ob er die Datei zuvor gesperrt hat, und er muss keine Sperrkennung verwalten.

Derzeit werden nur exklusive Sperren unterstützt.

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) Nicht unterstützt Nicht unterstützt
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}/lock

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 der Sperrparameter an.

Eigenschaft Typ Erforderlich Beschreibung
durationMinutes Int32 Ja Sperrdauer in Minuten. Muss zwischen 1 und 30 Minuten dauern. Die Sperre läuft zum Anforderungszeitpunkt zuzüglich dieses Werts ab.

Der Sperrbezeichner und der Sperrtyp werden vom Server bestimmt und dürfen nicht vom Aufrufer bereitgestellt werden.

Antwort

Der Server ermittelt anhand des aktuellen Sperrstatus der Datei und der Identität des Aufrufers, ob diese Anforderung eine neue Sperre erhält oder eine bestehende aktualisiert:

Aktueller Zustand Anrufer-Identität Aktion
Die Datei ist nicht gesperrt oder die vorhandene Sperre ist abgelaufen. Jeder Aufrufer mit Berechtigung. Erwerben Sie eine neue Sperre.
Die Datei ist gesperrt, und der Aufrufer hält die Sperre fest. Gleicher Aufrufer wie der Sperrbesitzer. Aktualisieren Sie die vorhandene Sperre. expirationDateTime wird aktualisiert.
Die Datei wurde von einem anderen Benutzer gesperrt. Anderer Anrufer. EINGABE 409 Conflict. Der Aufrufer kann eine Sperre erst erwerben, wenn die vorhandene Sperre freigegeben wird oder abläuft.

Bei erfolgreicher Ausführung gibt diese Methode einen 200 OK Antwortcode und eine lockInfo-Ressource im Antworttext zurück.

Diese Methode gibt die folgenden Fehlerantwortcodes zurück.

HTTP-Code Beschreibung
400 Ungültige Anforderung. Die durationMinutes fehlt, ist nicht positiv oder überschreitet das Maximum von 30 Minuten. Wird auch zurückgegeben, wenn das ZiellaufwerkElement keine Datei (z. B. ein Ordner) ist.
401 Anforderung fehlen gültige Anmeldeinformationen für die Authentifizierung.
403 Der Aufrufer verfügt nicht über die Berechtigung zum Sperren dieser Datei.
404 Das driveItem wurde im angegebenen Pfad nicht gefunden.
409 Die Datei wurde von einem anderen Benutzer gesperrt. Der Aufrufer muss warten, bis die vorhandene Sperre freigegeben wird oder abläuft, bevor er eine neue Sperre erwirbt.

Weitere Informationen zur Rückgabe von Fehlern finden Sie unter Fehlerantworten und Ressourcentypen für Unterschiede zwischen Microsoft Graph für Microsoft-Konten und Microsoft Graph für Geschäfts-, Schul- oder Unikonten.

Beispiele

Beispiel 1: Erwerben einer Sperre für eine entsperrte Datei

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/beta/drives/{drive-id}/items/{item-id}/lock
Content-Type: application/json

{
  "durationMinutes": 30
}

Antwort

Das folgende Beispiel zeigt die Antwort.

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

{
  "lockType": "exclusive",
  "expirationDateTime": "2026-05-13T14:30:00Z",
  "createdDateTime": "2026-05-13T14:00:00Z"
}

Beispiel 2: Aktualisieren einer bestehenden Sperre, die der Anrufer bereits hält

Der Anforderungstext ist identisch mit dem Acquire-Fall. Nur der aktuelle Status der Datei unterscheidet sich.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

POST https://graph.microsoft.com/beta/drives/{drive-id}/items/{item-id}/lock
Content-Type: application/json

{
  "durationMinutes": 10
}

Antwort

Das folgende Beispiel zeigt die Antwort. Die expirationDateTime wird aktualisiert.

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

{
  "lockType": "exclusive",
  "expirationDateTime": "2026-05-13T14:39:00Z",
  "createdDateTime": "2026-05-13T14:00:00Z"
}

Hinweise

  • Derzeit werden nur exklusive Sperren unterstützt. Der lockType in der Antwort lautet stets exclusive.
  • Die Sperrdauer ist auf 30 Minuten pro Anforderung begrenzt. Rufen Sie diese API für längere Haltevorgänge erneut auf, bevor die bestehende Sperre abläuft. Der Aufruf wird automatisch als Aktualisierung behandelt.
  • Die neue expirationDateTime wird als Anforderungszeit plus durationMinutes berechnet. Sie ersetzt das vorherige Ablaufdatum, anstatt es zu verlängern. Anrufe mit einer kürzeren Dauer als die verbleibende Zeit reduzieren effektiv das Sperrfenster.
  • createdDateTime und expirationDateTime werden in UTC zurückgegeben.
  • Diese API ist idempotent und wiederholungssicher: Wenn der Aufrufer aufgrund eines Netzwerkfehlers nicht sicher ist, ob die Sperre erfolgreich war, führt die Wiederholung natürlich zu einer Aktualisierung (wenn der erste Aufruf erfolgreich war) oder zu einem erneuten Erwerb (wenn dies nicht der Fall war).