Télécharger le contenu d’une ressource DriveItem
Téléchargez le contenu du flux principal (fichier) d’une ressource DriveItem. Seules les ressources DriveItem avec la propriété file peuvent être téléchargées.
Autorisations
L’une des autorisations suivantes est requise pour appeler cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.
Type d’autorisation | Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins) |
---|---|
Déléguée (compte professionnel ou scolaire) | Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All |
Déléguée (compte Microsoft personnel) | Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All |
Application | Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All |
Requête HTTP
GET /drives/{drive-id}/items/{item-id}/content
GET /groups/{group-id}/drive/items/{item-id}/content
GET /me/drive/root:/{item-path}:/content
GET /me/drive/items/{item-id}/content
GET /sites/{siteId}/drive/items/{item-id}/content
GET /users/{userId}/drive/items/{item-id}/content
En-têtes de demande facultatifs
Nom | Valeur | Description |
---|---|---|
if-none-match | String | Si cet en-tête de demande est inclus et que l’eTag (ou cTag) fourni correspond à l’identité actuelle sur le fichier, une réponse HTTP 304 Not Modified est renvoyée. |
Exemple
Voici un exemple de téléchargement d’un fichier complet.
GET /me/drive/items/{item-id}/content
Réponse
Renvoie une réponse 302 Found
qui redirige vers une URL de téléchargement préalablement authentifiée pour le fichier.
Il s’agit de la même URL disponible via la propriété @microsoft.graph.downloadUrl
sur le DriveItem.
Pour télécharger le contenu du fichier, votre application doit suivre l’en-tête Location
dans la réponse.
De nombreuses bibliothèques de client HTTP suivront automatiquement la redirection 302 et commenceront à télécharger le fichier immédiatement.
Les URL de téléchargement préalablement authentifiées ne sont valides que pour une courte période de temps (quelques minutes) et ne nécessitent pas d’en-tête Authorization
pour le téléchargement.
HTTP/1.1 302 Found
Location: https://b0mpua-by3301.files.1drv.com/y23vmagahszhxzlcvhasdhasghasodfi
Téléchargements de plage partielle
Pour télécharger une plage partielle d’octets à partir du fichier, votre application peut utiliser l’en-tête Range
comme spécifié dans RFC 2616.
Notez que vous devez ajouter l’en-tête Range
à l’URL @microsoft.graph.downloadUrl
réelle et non à la demande pour /content
.
GET https://b0mpua-by3301.files.1drv.com/y23vmag
Range: bytes=0-1023
Cela renverra une réponse HTTP 206 Partial Content
avec la plage d’octets demandée à partir du fichier.
Si la plage ne peut pas être générée, l’en-tête de la plage peut être ignoré et une réponse HTTP 200
est renvoyée avec le contenu complet du fichier.
HTTP/1.1 206 Partial Content
Content-Range: bytes 0-1023/2048
Content-Type: application/octet-stream
<first 1024 bytes of file>
Réponses d’erreur
Pour plus d’informations sur la façon dont les erreurs sont renvoyées, voir Réponses d’erreur.