2012-02-19 47 views
1

我试图使用Zend_Gdata_Spreadsheets用下面的代码工作表中插入行:的Zend的GData电子表格的insertRow抛出HttpException

$gdClient->insertRow(array('a'=>'gggggg','b'=>'hhhhh'), $currKey, $currWkshtId); 

两个$currKey$currWkshtId是正确的,但它返回此错误:

Fatal error: Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Expected response code 200, got 400. We're sorry, a server error occurred. Please wait a bit and try reloading your spreadsheet.'

有谁知道这个错误的原因是什么,我该如何解决呢?

回答

0

这是因为我需要把头名工作表中的列。

任何人都知道,如果他们有任何默认的名字吗?或者可能以另一种方式参考列?

+0

你应该在第一行上使用updateCell – 2012-05-02 20:51:47

+1

另外值得一提的是,你应该在数组键使用小写字母,即使你已经在第一个大写的字符串行。我有“名”的第一行中,“地址”,却得到了HttpException,只有当我从“姓名”改变了数组键消失了“名”和“地址”到“地址”。我希望这可以帮助别人。 – Andrew 2012-11-28 12:15:01

+0

@安德鲁:是的,这绝对有帮助!使用小写解决了这个问题。 – rsmoorthy 2014-05-06 03:56:45

0

谷歌假定电子表格的第一行是标题行,所以第一个行中的文本变成列的头名。在Objective-C中,当引用列名称时,还必须删除空格并将字符串转换为小写,所以对于php也是如此。尝试在发送之前$ currKey转换为小写和去掉空格。

+1

这也是为什么有时候我批评谷歌大量的例子,他们应该是全地球上最聪明的程序员,但他们的一些决定是如此的骨排辈笨,很难了解他们如何走路,而不绊倒了......在他们正确的心态中“假设”第一行是标题行... – 2014-08-29 12:20:06