Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework 预期响应代码为200,得到400。无法转换文档_Zend Framework_Google Drive Api_Google Docs Api_Gdata Api_Zend Gdata - Fatal编程技术网

Zend framework 预期响应代码为200,得到400。无法转换文档

Zend framework 预期响应代码为200,得到400。无法转换文档,zend-framework,google-drive-api,google-docs-api,gdata-api,zend-gdata,Zend Framework,Google Drive Api,Google Docs Api,Gdata Api,Zend Gdata,在过去的两周左右的时间里,我突然收到报告说,用户在我们的应用程序中遇到了一个错误,“预期响应代码200,得到400。无法转换文档。”这是一个已经存在多年的代码,没有任何问题。我们将Zend框架(GData)与Google文档(AuthSub)结合使用 我们正在将问题记录到一个文本文件中。当它被记录时,用户通常会尝试多次(有时间隔几秒钟,其他时间间隔更长),然后继续失败。有问题的代码只是在用户帐户中创建一个新的Google文档,并给它一个标题(没有正文内容) 最初,我使用了以下代码: // Cre

在过去的两周左右的时间里,我突然收到报告说,用户在我们的应用程序中遇到了一个错误,“预期响应代码200,得到400。无法转换文档。”这是一个已经存在多年的代码,没有任何问题。我们将Zend框架(GData)与Google文档(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);
为了试验并查看该特定函数是否存在问题,我尝试创建一个空白word文档,并将代码更改为:

$test = $sharedocs->uploadFile('/mypath/empty.doc', $title, null, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI);
但是,我仍然看到“无法转换文档”错误。它们相对较少,我无法在我自己的计算机上重现这个问题。$title变量不包含任何异常(特殊字符等)

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


注意:请参阅下面我的后续评论,我已经确定了发生此错误的可复制场景。

我遇到了完全相同的问题,但我注意到,如果不是文档,我可以使用api保存演示文稿。。。因此,这是一个可怕的黑客行为,但我尝试保存该文档(如果该帐户已被访问,则有效)。。。如果失败,我会保存并删除一个演示文稿,然后重试保存文档,这样就可以了。可怕的,可怕的,可怕的黑客

我没有使用这个特定的API,但是400是“错误的请求”-你能记录API提供的响应的主体吗?它可能包含特定的错误消息或失败原因。下面是API请求失败时的响应:另一个注意事项——每次错误发生时,我都会记录错误,并且错误发生得非常频繁(每隔几分钟一次)。此外,当某个特定用户的操作失败时,我经常看到他们在接下来的几分钟内重试几次,然后继续为他们抛出错误。我能够重现这一点。如果我创建了一个新的Google帐户,但我根本没有进入Google Drive(只需创建帐户并离开),那么当我试图通过API将文档插入该Google帐户时,它将失败,并出现“无法转换文档”错误。如果我回到谷歌账户,只需打开谷歌硬盘一次,然后回到我自己的程序,现在它就可以工作了!我如何解决这个问题?另外,如果我切换到使用oauth2身份验证和新的gdrive API,而不是使用Zend gdata,并做同样的事情(尝试将一个文档插入到用户尚未实际进入google drive的google drive帐户中),我也会收到一个错误:发生了一个错误:调用POST时出错:(500)内部错误