我正在尝试在codeigniter中使用Zend twitter服务。
我使用以下方法来集成zend http://www.beyondcoding.com/2008/02/21/using-zend-framework-with-codeigniter/
我可以成功完成Oauth身份验证并从twitter接收有效的访问令牌,我的回调页面工作正常,但当我尝试发出请求时,我收到以下错误:
Message: Undefined offset: 0
Filename: Client/Result.php
Line Number: 232
我正在加载这样的twitter类:
$this->load->library('zend');
$this->zend->load('Zend/Service/Twitter');
我不确定我是否应该加载任何其他东西,或者我做错了什么。
我正在使用Codeigniter 2.0.2和ZendFramework 1.11.4
非常感谢任何帮助。
答案 0 :(得分:0)
此错误似乎与CodeIgniter和Zend没有直接关系。查看第232行的代码,我可以看到这个
return (string) $result[0];
这是在以下功能
中/**
* toString overload
*
* Be sure to only call this when the result is a single value!
*
* @return string
*/
public function __toString()
{
if (!$this->getStatus()) {
$message = $this->_sxml->xpath('//message');
return (string) $message[0];
} else {
$result = $this->_sxml->xpath('//response');
if (sizeof($result) > 1) {
return (string) "An error occured.";
} else {
return (string) $result[0];
}
}
}
$result
似乎不是一个数组 - 说实话,这似乎不是一个经过深思熟虑的功能。尝试查看问题Zend/Rest/Client/Result.php
中的类,看看$result
是什么,以及对Twitter的调用是否真正成功。
希望有所帮助。