2014-05-19 4 views
6

Meine App hält einige app-spezifische Dateien im appdata-Ordner. Aber wenn Datei versucht, die Datei in Drive-App-Daten zu aktualisieren, die wiederholt einen internen Fehler vom Drive-Server erhalten. Ich verwende Objective-c-Client, um Drive-APIs aufzurufen. Könnten Sie bitte helfen, was darin falsch ist? Geben Sie zumindest einige Vorschläge, um die Ursache für diesen Fehler herauszufinden.

Unten ist der eingeloggte Anfrage und Antwort:
Drive-Datei-Update-Fehler 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" 
} 

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

aktualisieren
Eine ausgezeichnete Abhilfe vorgeschlagen von Jon Skeet aus: answer to this question

Ich habe es geschafft, das Problem zu reproduzieren. Ohne setNewRevision (false) es funktioniert - ich realisiere, dass möglicherweise nicht in allen Fällen machbar, aber ist es eine sinnvolle Problemumgehung für Sie im Moment?

Allerdings werde ich in diesem Moment auf eine solche Problemumgehung warten. Wir bevorzugen setNewRevision(false) zu haben, von was zu erhöhten Nutzung des Datenspeicherkontingents des Benutzers zu verhindern - http://developers.google.com/drive/v2/reference/files/update


+2

Vorschlag von Jon Skeet - http://Stackoverflow.com/a/23742537/72437 –

+0

@CheokYanCheng Temporary gab mir temporäre Erleichterung. Vielen Dank. – Raviprakash

Antwort

1

Dieser Fehler durch eine Datei an eine nicht dokumentierte Grenze von 200 gepinnt Revisionen ist. Wie Sie bereits erwähnt haben, besteht die Problemumgehung darin, beim Hochladen keine neue Revision zu erstellen oder stattdessen einige Ihrer vorhandenen Revisionen zu entfernen.