Zend_Service_Twitter 和 Twitter API 1.1 (ZF 1.12.3)

Posted

技术标签:

【中文标题】Zend_Service_Twitter 和 Twitter API 1.1 (ZF 1.12.3)【英文标题】:Zend_Service_Twitter and Twitter API 1.1 (ZF 1.12.3) 【发布时间】:2013-03-19 12:50:02 【问题描述】:

我已升级到 Zend Framework v1.12.3,因为它支持带有 Zend_Service_Twitter 的 TwitterAPI v1.1。之前,我使用过运行良好的 TwitterAPI 1.0(之前的 ZF 1.12.3),但那将是 change in march 2013。

如果我使用以下 ZF 1.12.3 代码调用 TwitterAPI v1.1,我会不断收到一个我无法向自己解释的奇怪错误:

代码:

     $twitterService = new Zend_Service_Twitter(array(
            'consumerKey'    => $this->config['consumerKey'],
            'consumerSecret' => $this->config['consumerSecret'],
            'username'       => $twitterVO->getTwitterUserName(),
            'accessToken'    => $accessToken // unserialized object
));

 $response = $twitterService->statusesUpdate("TEST");

这就是我得到的错误。我调用哪个函数并不重要(在本例中是 statusesUpdate("Test")):

消息是“无效的块大小”“无法读取块体”。数组中的“type”属性显示一个“->”。这也有点可疑,但我找不到它的来源。

有人有 Zend Framework 1.12.3 的工作示例吗?

【问题讨论】:

【参考方案1】:

自 ZF 1.12 起,Twitter 应用程序 Oauth 参数可以在 Zend_Service_Twitter 构造函数中给出,但 consumerKey 和 consumerSecret 必须放在 "oauthOptions" 数组下。

这对我有用:

$accessToken = new Zend_Oauth_Token_Access();
$accessToken->setToken('YourAccessToken');
$accessToken->setTokenSecret('YourAccessTokenSecret');

$twitter = new Zend_Service_Twitter(
    array(
        'username' => 'YourUsername',
        'accessToken' => $accessToken,
        'oauthOptions' => array(
            'consumerKey' => 'YourConsumerKey',
            'consumerSecret' => 'YourConsumerSecret'
        )
    )
);

$result = $twitter->statusesUserTimeline('TEST');

【讨论】:

谢谢,arraintxo。这就是解决方案!

以上是关于Zend_Service_Twitter 和 Twitter API 1.1 (ZF 1.12.3)的主要内容,如果未能解决你的问题,请参考以下文章

linux内核网络参数tcp_tw_recycle 和 tcp_tw_reuse 你搞清楚了吗?

sql SMH TW和SCMAgent用法

Linux下TIME_WAIT连接优化内核参数tcp_tw_reuse与tcp_tw_recycle区别与联系浅析

ASEMI代理TW6869-TA1-CRH瑞萨TW6869-TA1-CRH车规级

tw_recycle引发的故障

学习自动化测试工具TW小结