Zend_Service_Twitter - подготовьте API v1.1

Компонент Zend_Service_Twitter по-прежнему предназначен для Twitters API v1.0, который устарел 5 марта 2013 года. Поэтому я хотел, чтобы мой новый веб-сайт с поддержкой API Twitter v1.1 был готов. Все отлично работает с v1.0, но если я изменю URL с/1/ в/1.1/ происходит сбой с кодом заголовка HTTP 400 и сообщением об ошибке JSON:Bad Authentication data (Код: 215)

Чтобы получить запрос и маркер доступа, остался прежним и уже работает без каких-либо изменений, но если я хочу проверить учетные данные, как это, я получаю ошибку, которую я описал выше:

// Take a look for the code here: http://framework.zend.com/manual/1.12/en/zend.oauth.introduction.html
$accessToken = $twitterAuth->getAccessToken($_GET, unserialize($_SESSION['TWITTER_REQUEST_TOKEN']));


// I have a valid access token and now the problematic part
$twitter = new Zend_Service_Twitter(array(
    'username' => $accessToken->getParam('screen_name'),
    'accessToken' => $accessToken
));
print_r($twitter->account->verifyCredentials());

Я изменил код verifyCredentials вZend/Service/Twitter.php от этого к этому:

public function accountVerifyCredentials()
{
    $this->_init();
    $response = $this->_get('/1/account/verify_credentials.xml');
    return new Zend_Rest_Client_Result($response->getBody());
}

// to

public function accountVerifyCredentials()
{
    $this->_init();
    $response = $this->_get('/1.1/account/verify_credentials.json');
    return Zend_Json::decode($response->getBody());
}

Теперь я добавил передreturn Zend_Json[...] эта строка:

print_r($this->_localHttpClient->getLastRequest());

// And I get this output of it:

GET /1.1/account/verify_credentials.json HTTP/1.1
Host: api.twitter.com
Connection: close
Accept-encoding: gzip, deflate
User-Agent: Zend_Http_Client
Accept-Charset: ISO-8859-1,utf-8
Authorization: OAuth realm="",oauth_consumer_key="",oauth_nonce="91b6160db351060cdf4c774c78e2d0f2",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1349107209",oauth_version="1.0",oauth_token="hereismytoken",oauth_signature="hereisavalidsignature"

Как вы могли видетьoauth_consumer_key (а такжеrealm тоже) пусто. Может ли это быть ошибкой? Как я могу решить эту ошибку (из-за более новой версии API?)? Было бы хорошо, чтобы установить как-тоoauth_consumer_key? Если да, как я мог справиться с этим?

Изменить: Я также нашел уже отчет об ошибке на трекере проблем Zend Framework:http://framework.zend.com/issues/browse/ZF-12409 (может быть сделать upvote?)

Ответы на вопрос(4)

Ваш ответ на вопрос