2

在过去两周左右的时间里,我突然开始收到有关用户在我们的应用程序中收到错误消息的报告:“预期响应代码 200,得到 400。无法转换文档。” 这是已经存在多年的代码,没有任何问题。我们将 Zend Framework (GData) 与 Google Docs (AuthSub) 结合使用。

当问题发生时,我们会将问题记录到文本文件中。当它被记录时,用户经常尝试多次(有时相隔几秒钟,有时相隔更长的时间)并且它继续失败。有问题的代码只是在用户的帐户中创建了一个新的 Google 文档并给它一个标题(没有正文内容)。

最初,我使用以下代码:

// Create new document
$data = new Zend_Gdata_Docs_DocumentListEntry();
$data->setCategory(
  array(new Zend_Gdata_App_Extension_Category(
          "http://schemas.google.com/docs/2007#document",
          "http://schemas.google.com/g/2005#kind"
)));
$data->setTitle(new Zend_Gdata_App_Extension_Title($title, null));

// Add document to your list
$test = $sharedocs->insertDocument($data, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI);

为了试验并查看该特定功能是否存在问题,我尝试创建一个空白单词文档并将代码更改为:

$test = $sharedocs->uploadFile('/mypath/empty.doc', $title, null, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI);

但是,我仍然看到“无法转换文档”错误。它们相对不常见,我无法在我自己的计算机上重现该问题。$title 变量不包含任何异常(特殊字符等)。

这段代码之前都运行良好——现在 Google Docs API 是否存在已知问题?我还能尝试什么?

注意:请在下面查看我的后续评论,其中我已经确定了发生此错误的可重现场景。

4

1 回答 1

0

我遇到了完全相同的问题,但我注意到如果不是文档,我可以使用 api 来保存演示文稿......所以,这是一个可怕的 hack,但我尝试保存文档(如果帐户已经访问)...如果失败,我会保存并删除演示文稿,然后重试保存文档,然后可以使用。可怕的,可怕的,可怕的黑客

于 2013-01-18T10:46:30.267 回答