driveItem : lock

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

Obtenez un verrou exclusif sur un fichier représenté par un driveItem, ou étendez un verrou existant que vous détenez déjà. Pendant que le verrou est maintenu, d’autres utilisateurs ne peuvent pas acquérir un verrou sur le même fichier. Le verrou expire automatiquement à l’expiration de la durée spécifiée dans la demande.

Remarque

Cette API s’applique uniquement aux driveItems qui représentent des fichiers. Les verrous ne peuvent pas être appliqués aux dossiers ou aux autres éléments de lecteur non liés aux fichiers. Les demandes qui ciblent un élément de lecteur non-fichier sont rejetées avec 400 Bad Request.

Un point de terminaison unique gère à la fois l’acquisition initiale et l’actualisation. Le serveur détermine le comportement qui s’applique en fonction de l’état de verrouillage actuel du fichier et de l’identité de l’appelant. L’appelant n’a pas besoin de vérifier s’il a précédemment verrouillé le fichier et n’a pas besoin de gérer un identificateur de verrouillage.

Seuls les verrous exclusifs sont actuellement pris en charge.

Cette API est disponible dans les déploiements cloud nationaux suivants.

Service global Gouvernement américain L4 Gouvernement américain L5 (DOD) Chine exploitée par 21Vianet
✅ ❌ ❌ ❌

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme étant les moins privilégiées pour cette API. Utilisez une ou plusieurs autorisations privilégiées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, voir Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez la référence des autorisations.

Type d’autorisation Autorisations les moins privilégiées Autorisations à privilèges plus élevés
Déléguée (compte professionnel ou scolaire) Files.ReadWrite Files.ReadWrite.All, Sites.ReadWrite.All
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application Files.ReadWrite.All Sites.ReadWrite.All

Remarque

SharePoint Embedded nécessite l’autorisation FileStorageContainer.Selected pour accéder au contenu du conteneur. Cette autorisation est différente de celles mentionnées précédemment. Outre les autorisations Microsoft Graph, votre application doit disposer des autorisations de type conteneur nécessaires pour appeler cette API. Pour plus d’informations, consultez Authentification et autorisation SharePoint Embedded.

Requête HTTP

POST /drives/{drive-id}/items/{item-id}/lock

En-têtes de demande

Nom Description
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et les autorisations.
Content-Type application/json. Obligatoire.

Corps de la demande

Dans le corps de la demande, fournissez une représentation JSON des paramètres de verrouillage.

Propriété Type Requis Description
DuréeMinutes Int32 Oui Durée de verrouillage en minutes. Doit être compris entre 1 et 30 minutes. Le verrou expire au moment de la demande plus cette valeur.

L’identificateur et le type de verrou sont déterminés par le serveur et ne doivent pas être fournis par l’appelant.

Réponse

Le serveur détermine si cette demande acquiert un nouveau verrou ou actualise un verrou existant en fonction de l’état de verrouillage actuel du fichier et de l’identité de l’appelant :

État actuel Identité de l’appelant Action
Le fichier n’est pas verrouillé, ou le verrou existant a expiré. Tout appelant disposant de l’autorisation. Acquérir un nouveau verrou.
Le fichier est verrouillé, et l’appelant maintient le verrou. Même appelant que le propriétaire de la serrure. Actualiser le verrou existant ; expirationDateTime est mis à jour.
Le fichier est verrouillé par un autre utilisateur. Autre appelant. Retour 409 Conflict. L’appelant ne peut pas acquérir de verrou tant que le verrou existant n’est pas libéré ou n’a pas expiré.

En cas de réussite, cette méthode renvoie un 200 OK code de réponse et une ressource lockInfo dans le corps de la réponse.

Cette méthode renvoie les codes de réponse d’erreur suivants.

Code HTTP Description
400 Demande incorrecte La duréeMinutes est manquante, non positive ou dépasse la limite de 30 minutes. Également renvoyé lorsque le driveItem cible n’est pas un fichier (par exemple, un dossier).
401 La demande ne dispose pas d’informations d’authentification valides.
403 L’appelant n’est pas autorisé à verrouiller ce fichier.
404 Le driveItem est introuvable au chemin d’accès spécifié.
409 Le fichier est verrouillé par un autre utilisateur. L’appelant doit attendre que le verrou existant soit libéré ou expire avant d’acquérir un nouveau verrou.

Pour plus d’informations sur la façon dont les erreurs sont retournées, consultez Réponses d’erreur et types de ressources pour connaître les différences entre Microsoft Graph pour les comptes Microsoft et Microsoft Graph pour les comptes professionnels ou scolaires.

Exemples

Exemple 1 : Acquisition d’un verrou sur un fichier déverrouillé

Demande

L’exemple suivant illustre une demande.

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

{
  "durationMinutes": 30
}

Réponse

L’exemple suivant illustre la réponse.

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

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

Exemple 2 : actualiser un verrou existant déjà détenu par l’appelant

Le corps de la demande est identique au cas d’acquisition ; Seul l’état actuel du fichier diffère.

Demande

L’exemple suivant illustre une demande.

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

{
  "durationMinutes": 10
}

Réponse

L’exemple suivant illustre la réponse. ExpirationDateTime est mise à jour.

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

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

Remarques

  • Seuls les verrous exclusifs sont actuellement pris en charge. Le lockType dans la réponse est toujours exclusive.
  • La durée de verrouillage est limitée à 30 minutes par demande. Pour les conservations plus longues, appelez à nouveau cette API avant l’expiration du verrou existant ; L’appel est automatiquement géré comme une actualisation.
  • La nouvelle date d’expiration est calculée comme l’heure de la demande plus durationMinutes ; Il remplace l’expiration précédente plutôt que de la prolonger. Appeler avec une durée plus courte que le temps restant réduit effectivement la fenêtre de verrouillage.
  • Les valeurs createdDateTime et expirationDateTime sont renvoyées au format UTC.
  • Cette API est idempotente et sécurisée pour les nouvelles tentatives : si une défaillance réseau laisse l’appelant dans l’incertitude quant à la réussite du verrou, une nouvelle tentative entraîne naturellement une actualisation (si le premier appel a réussi) ou une nouvelle acquisition (si ce n’est pas le cas).