Zend_Service_Twitter - Mache API v1.1 fertig

Die Zend_Service_Twitter Komponente ist noch für Twitters API v1.0, welches am 5. März 2013 veraltet sein wird. Deshalb wollte ich meine neue Website mit Twitter API Interaktion v1.1 fertig machen. Alles funktioniert gut mit v1.0 aber wenn ich die URL von ändere/1/ zu/1.1/ Es schlägt mit dem HTTP-Header-Code 400 und der JSON-Fehlermeldung fehl:Bad Authentication data (Code: 215)

Die Anforderung und das Zugriffstoken wurden unverändert übernommen und funktionieren bereits ohne Änderungen. Wenn ich die Anmeldeinformationen jedoch wie folgt überprüfen möchte, wird der oben beschriebene Fehler angezeigt:

// 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());

Ich habe den Code von verifyCredentials in geändertZend/Service/Twitter.php von dem zu dem:

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());
}

Nun habe ich vor demreturn Zend_Json[...] diese Linie:

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"

Da konnte man das sehenoauth_consumer_key (undrealm auch) ist leer. Könnte das der Fehler sein? Wie konnte ich diesen Fehler beheben (aufgrund der strengeren neuen API-Version?)? Wäre es in Ordnung das irgendwie einzustellenoauth_consumer_key? Wenn ja, wie könnte ich das schaffen?

Edit: Ich habe auch schon einen Fehlerbericht über den Issue Tracker des Zend Framework gefunden:http://framework.zend.com/issues/browse/ZF-12409 (Vielleicht eine Gegenstimme?)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage