2017-09-11 5 views
0

Pour une raison quelconque le code de travail précédemment a cessé de fonctionner et le serveur a commencé à répondre avec 416.API Google Drive répond avec 416 code HTTP

Voici les journaux du client HTTP lors de l'interaction à défaut:

-------------- REQUEST -------------- 
GET https://www.googleapis.com/drive/v3/files/0B02Nopv3SQOvOVNKaDIwTEZ3MHd?alt=media 
Accept-Encoding: gzip 
Authorization: <Not Logged> 
Range: bytes=0-33554431 
User-Agent: My app Google-API-Java-Client Google-HTTP-Java-Client/1.22.0 (gzip) 

-------------- RESPONSE -------------- 
HTTP/1.1 416 Requested range not satisfiable 
Alt-Svc: quic=":443"; ma=2592000; v="39,38,37,35" 
Server: UploadServer 
Cache-Control: private, max-age=0 
Content-Range: bytes */0 
X-GUploader-UploadID: AEnB2UqBx9B09Lnr8tG761gdoz3DkhHSNO_OzHh1LkU6B2908v17rnBGQZSNW4ZVTjbRdFtvPWWIqZGdtSrTo6ZWN7YW9nxf6d 
Vary: X-Origin 
Vary: Origin 
Expires: Mon, 11 Sep 2017 15:23:20 GMT 
Content-Length: 225 
Date: Mon, 11 Sep 2017 15:23:20 GMT 
Content-Type: application/json; charset=UTF-8 

J'essayais de télécharger un fichier qui fait environ 200000 octets, donc je pensais que la signification de "taille de mandrin" changeait quelque part, donc il ne pouvait pas donner 33554431 octets d'un fichier de 282177 octets. J'ai essayé de changer cela à une plus petite valeur, mais pas de succès.

Drive.Files.Get get = drive.files().get(file.getId()) 

MediaHttpDownloader downloader = get.getMediaHttpDownloader() 

downloader.directDownloadEnabled = false 

localFile.newOutputStream() 
get.executeMediaAndDownloadTo(stream) 

Le téléchargement direct ne fonctionne pas non plus, il télécharge simplement "0" octets. Est-ce que quelqu'un sait comment surmonter ce problème?

Répondre

0

416 Range Not Satisfiable erreur signifie que le serveur n'est pas en mesure de servir les gammes demandées. Le raison la plus probable est que le document ne contient pas de telles plages, ou que la valeur d'en-tête de plage, bien que syntaxiquement correcte, n'a pas de sens .

L'une des résolutions qui peuvent fournir de ce forum est à:

Ajouter "Accept-Ranges: none" à nos têtes de réponse.

+0

Je vais essayer, mais il est dit MDN que Accept-Ranges est un en-tête de réponse, ce devrait être mis sur le côté serveur https://developer.mozilla.org/ru/docs/ Web/HTTP/En-têtes/Accept-Gammes – Valya