2014-05-19 7 views
6

La mia app mantiene pochi file specifici per app nella cartella appdata. Tuttavia, quando il file tenta di aggiornare il file nei dati dell'app Drive ripetutamente riceve un errore interno dal server Drive. Sto usando il client Objective-c per chiamare le API di Drive. Potresti per favore aiutare cosa c'è di sbagliato in questi. Almeno dai qualche suggerimento per scoprire la causa di questo errore.

Di seguito si riporta la richiesta di accesso e di risposta:
Errore di aggiornamento del file dell'unità 500

drive.files.update (bytes 0-40318/40319) 

2014-05-19 09:23:44 +0000 
Request: PUT https://www.googleapis.com/upload/rpc?uploadType=resumable&prettyPrint=false&upload_id=AEnB2Uo8yrae46aQQ-HYEtQgmXt2qNppZmkBYnPa8iXF4L6xdNYaVij6u3xLTT5kRIeH1mbPUUfUuEDEvYoouZheVwwWT6iw_A 
Request headers: 
    Content-Length: 40319 
    Content-Range: bytes 0-40318/40319 
    Content-Type: binary/octet-stream 
    User-Agent: com.mycompanyname.appname/1.4.0 google-api-objc-client/2.0 MacOSX/10.8.5 (gzip) 

Request body: (40319 bytes) 
<<40319 bytes>> 

Response: status 200 
Response headers: 
    Alternate-Protocol: 443:quic 
    Cache-Control: no-cache, no-store, max-age=0, must-revalidate 
    Content-Length: 144 
    Content-Type: application/json; charset=UTF-8 
    Date: Mon, 19 May 2014 09:23:44 GMT 
    Expires: Fri, 01 Jan 1990 00:00:00 GMT 
    Pragma: no-cache 
    Server: HTTP Upload Server Built on May 15 2014 11:06:48 (1400177208) 

Response body: (144 bytes) 
{ 
    "error" : { 
    "message" : "Internal Error", 
    "data" : [ 
     { 
     "reason" : "internalError", 
     "message" : "Internal Error", 
     "domain" : "global" 
     } 
    ], 
    "code" : 500 
    }, 
    "id" : "gtl_20" 
} 

----------------------------- ------------------------------

Aggiornamento
Una soluzione eccellente proposto da Jon Skeet da: answer to this question

Sono riuscito a riprodurre il problema. Senza setNewRevision (false) è funziona - Mi rendo conto che potrebbe non essere fattibile in tutti i casi, ma è una soluzione ragionevole per voi per il momento?

Tuttavia, terrò in sospeso questa soluzione in questo momento. Noi preferiamo avere setNewRevision(false), per evitare di causare maggiore utilizzo di quota di archiviazione dei dati dell'utente - http://developers.google.com/drive/v2/reference/files/update


+2

Suggerimento di Jon Skeet - http://stackoverflow.com/a/23742537/72437 –

+0

@CheokYanCheng Temporary mi ha dato un sollievo temporaneo. Grazie. – Raviprakash

risposta

1

Questo errore è dovuto ad un limite non documentato di 200 revisioni appuntato di un file. Come hai detto, la soluzione alternativa consiste nel non creare una nuova revisione al caricamento o, in alternativa, rimuovere alcune delle tue revisioni esistenti.