为什么文件更新有时会返回驱动器:v1作为文件ID?

时间:2012-05-01 20:11:48

标签: google-drive-api

在许多成功的文件更新之后,有一个更新,其中返回的文件ID是驱动器:v1而不是有效的文件ID。此外,根据App Engine日志,有问题的请求需要10秒钟(通常不到一秒钟),而不是因为App Engine实例启动时间非常奇怪。

我使用的代码基于Google Drive SDK Python示例应用程序DrEdit,并且只是稍加修改(我添加了Base64编码,因为我传输了微小的图像,而不是文本)。

更具体地说,在ServiceHandler类的put方法的示例代码中,这段代码应该在更新文件后返回文件ID:

# Respond with the new file id as JSON.
  self.RespondJSON(resource['id'])

这很多次,但有一次它返回驱动器:v1。虽然更新仍然正确地更改了文件,但除了文件ID问题之外,请求仍然可以正常工作。

以下是我对受此影响的示例代码部分所做的修改:

resource = service.files().update(
  id=data['resource_id'],
  newRevision=True,
  body=None,
  media_body=MediaInMemoryUpload(base64.b64decode(data.get('content', '')),
                                           data['mimeType']),
).execute()

顺便说一句,put方法中的注释“使用新文件ID作为JSON响应”使得它看起来像更新文件之后文件id会改变,这似乎不是这种情况。这非常令人困惑,除非文件ID有时在更新后确实发生了变化,否则更改此内容可能是个好主意。

1 个答案:

答案 0 :(得分:0)

我试过了,但我无法重现这一点。有没有办法可以获得定期复制它的样本?

另外,感谢您提出有关评论的问题,我现在会更新。

修改:评论已更新http://code.google.com/p/google-drive-sdk-samples/source/detail?r=233b6db987f633ff34929247f9045feca7550688