Inhalte von DriveItem herunterladenDownload the contents of a DriveItem

Namespace: microsoft.graphNamespace: microsoft.graph

Laden Sie die Inhalte des primären Streams (Datei) eines DriveItem herunter.Download the contents of the primary stream (file) of a DriveItem. Es können nur driveItems mit der Eigenschaft file heruntergeladen werden.Only driveItems with the file property can be downloaded.

BerechtigungenPermissions

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.One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

BerechtigungstypPermission type Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)Permissions (from least to most privileged)
Delegiert (Geschäfts-, Schul- oder Unikonto)Delegated (work or school account) Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.AllFiles.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All
Delegiert (persönliches Microsoft-Konto)Delegated (personal Microsoft account) Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.AllFiles.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All
AnwendungApplication Files.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.AllFiles.Read.All, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All

HTTP-AnforderungHTTP request

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

Optionale AnforderungsheaderOptional request headers

NameName WertValue BeschreibungDescription
if-none-matchif-none-match StringString Wenn dieser Anforderungsheader enthalten ist und das angegebene eTag (oder cTag) mit dem aktuellen Tag in der Datei übereinstimmt, wird die Antwort HTTP 304 Not Modified zurückgegeben.If this request header is included and the eTag (or cTag) provided matches the current tag on the file, an HTTP 304 Not Modified response is returned.

BeispielExample

Dies ist ein Beispiel für das Herunterladen einer vollständigen Datei.Here is an example to download a complete file.

GET /me/drive/items/{item-id}/content

AntwortResponse

Gibt eine 302 Found-Antwort zurück, mit der zu einer zuvor authentifizierten Download-URL umgeleitet wird. Dies ist dieselbe URL, die @microsoft.graph.downloadUrl-Eigenschaft für DriveItem verfügbar ist.Returns a 302 Found response redirecting to a pre-authenticated download URL for the file. This is the same URL available through the @microsoft.graph.downloadUrl property on the DriveItem.

Zum Herunterladen des Dateiinhalts muss die Anwendung den Location-Header in der Antwort aufrufen.To download the contents of the file your application will need to follow the Location header in the response. Viele HTTP-Clientbibliotheken folgen automatisch der 302-Umleitung und beginnen sofort mit dem Download der Datei.Many HTTP client libraries will automatically follow the 302 redirection and start downloading the file immediately.

Zuvor authentifizierte Download-URLs sind nur für einen kurzen Zeitraum (einige Minuten) gültig und erfordern keinen Authorization-Header für den Download.Pre-authenticated download URLs are only valid for a short period of time (a few minutes) and do not require an Authorization header to download.

HTTP/1.1 302 Found
Location: https://b0mpua-by3301.files.1drv.com/y23vmagahszhxzlcvhasdhasghasodfi

TeilbereichdownloadsPartial range downloads

Zum Herunterladen eines Teilbereichs von Bytes aus einer Datei kann die App den Range-Header gemäß der Angabe in RFC 2616 verwenden. Sie müssen den Range-Header an die tatsächliche @microsoft.graph.downloadUrl-URL anfügen, und nicht an die Anforderung für /content.To download a partial range of bytes from the file, your app can use the Range header as specified in RFC 2616. Note that you must append the Range header to the actual @microsoft.graph.downloadUrl URL and not to the request for /content.

GET https://b0mpua-by3301.files.1drv.com/y23vmag
Range: bytes=0-1023

Es wird eine HTTP 206 Partial Content-Antwort mit dem Anforderungsbereich von Bytes aus der Datei zurückgegeben. Wenn der Bereich nicht generiert werden kann, wird der Range-Header möglicherweise ignoriert und gibt eine HTTP 200-Antwort mit dem gesamten Inhalt der Datei zurück.This will return an HTTP 206 Partial Content response with the request range of bytes from the file. If the range cannot be generated the Range header may be ignored and an HTTP 200 response would be returned with the full contents of the file.

HTTP/1.1 206 Partial Content
Content-Range: bytes 0-1023/2048
Content-Type: application/octet-stream

<first 1024 bytes of file>

FehlerantwortenError responses

Weitere Informationen dazu, wie Fehler zurückgegeben werden, finden Sie unter Fehlerantworten.See Error Responses for more info about how errors are returned.