2013-03-28 4 views
3

Я обновился до Zend Framework v1.12.3, потому что он поддерживает TwitterAPI v1.1 с Zend_Service_Twitter. Раньше я использовал TwitterAPI 1.0 (ранее ZF 1.12.3), который хорошо работает, но это будет change in march 2013.Zend_Service_Twitter и Twitter API 1.1 (ZF 1.12.3)

Если я называю TwitterAPI v1.1 со следующей ZF 1.12.3 код, я получаю странную ошибку, которую я не могу объяснить себе:

Код:

 $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»)):

enter image description here

сообщение является «Неверный размер блока„“не удалось прочитать Chunked тело». Атрибут «type» в массиве показывает «->». Это тоже немного подозрительно, но я не мог понять, откуда он.

У кого-нибудь есть рабочий пример с Zend Framework 1.12.3?

ответ

3

С ZF 1.12 параметры Oauth приложения Twitter можно указать в конструкторе Zend_Service_Twitter, но userKey и 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'); 
+0

Спасибо, arraintxo. Это решение! – ninsky