重新生成从数据库存储的令牌和tokensecret组件(就像贾斯汀展示)的的access_token OBJ后,你可以,或者,这取决于你的Twitter需要,旁路Zend_Oauth_Consumer和Zend_Service_Twitter和使用可用的一个Zend_Http_Client通过Zend_Oauth_Token_Access。这非常适用于简单的状态发布 - 这是什么下面所示:
$token = new Zend_Oauth_Token_Access();
$token->setToken('singletoken');
$token->setTokenSecret('singlesecret');
$client = $token->getHttpClient(array('requestScheme' => Zend_Oauth::REQUEST_SCHEME_HEADER,
'version' => '1.0',
'signatureMethod' => 'HMAC-SHA1',
'callbackUrl' => 'http://example.org/dummyurl',
'requestTokenUrl' => 'http://twitter.com/oauth/request_token',
'accessTokenUrl' => 'http://twitter.com/oauth/access_token',
'userAuthorizationUrl' => 'http://twitter.com/oauth/authorize',
'consumerKey' => 'yourconsumerkey',
'ConsumerSecret' => 'yourconsumersecret',
));
$client->setUri('http://twitter.com/statuses/update.json');
$client->setMethod(Zend_Http_Client::POST);
$client->setParameterPost('status', $_POST["tweet_text"]);
$response = $client->request();
$data = Zend_Json::decode($response->getBody(), Zend_Json::TYPE_OBJECT);
if($data->text) { /* success */ }
不错的解决方案,简洁得多 – 2011-05-09 17:53:02