我的应用程序在appdata文件夹中保存了几个应用程序特定的文件。但是,当文件试图更新驱动器应用程序数据中的文件时,重复地从驱动器服务器获取内部错误。我正在使用Objective客户端调用Drive。你能帮我看看这些东西有什么问题吗?至少不要给出什么建议来找出这一错误的原因。
下面是记录的请求和响应:
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"
}更新
Jon Skeet提出的一个很好的解决方案:answer to this question
我已经成功地复制了这个问题。如果没有setNewRevision(假的),它是有效的--我意识到这在所有情况下都可能是可行的,但就目前而言,这是一个合理的解决办法吗?
不过,我会在这个时候暂缓这样的解决办法。我们更喜欢使用setNewRevision(false),以防止增加对用户数据存储配额- http://developers.google.com/drive/v2/reference/files/update的使用
发布于 2014-08-15 14:10:34
此错误是由于对文件的200次固定修订的无文档限制造成的。正如您所提到的,解决方法要么是在上传时不创建一个新的版本,要么是解锁一些现有的版本。
https://stackoverflow.com/questions/23734503
复制相似问题