2010-10-14 8 views
5

Witam Właśnie skończyłem kodowanie mojego OAuth w/Zend Framework. Odzyskuję mój token. Ciąg zapytanie zwróciło ma identyfikator użytkownika, nazwę użytkownika, tajne, tokenaZend Framework Twitter OAuth + Token

próbuję następujące

$twitter = new Zend_Service_Twitter(array(
'username' => $auth['username'], 
'accessToken' => $auth['token'] 
)); 
$rsp = $twitter->status->update('My Tweet'); 

Ale nie mogę zalogować się pomyślnie? Moje pytanie brzmi: czy przekazuję pełny accessToken zawierający wszystkie wartości? Próbowałem tego też, ale ja wciąż nie mogę się błąd, że nie podpiszę się powodzeniem

Odpowiedz

8

Trzeba przekazać właściwej opcji tablicę, która zawiera klucz tajny i konsumentów, tokeny użytkownika. Token musi być obiektem Ooken Token Access.

$token = new Zend_Oauth_Token_Access(); 
$token->setToken($userToken)->setTokenSecret($userSecret); 

$options = array(
    'accessToken' => $token, 
    'consumerKey' => $appConsumerKey, 
    'consumerSecret' => $appConsumerSecret); 

$twitter = new Zend_Service_Twitter($options); 
$response = $twitter->status->update("My Message!"); 

Powyższe powinno działać, zakładając, że masz wszystkie wymagane żetony! Wszystkie te żetony są dostępne na stronie deweloperskiej Twittera w osobistych ustawieniach aplikacji.

+0

Dzięki za poprawną odpowiedź, działa świetnie! +1 – Poru

0

Spróbuj tego:

$ Twitter = new Zend_Service_Twitter ($ auth [ 'username'], $ auth [ 'znak'])

Konstrukcja nie jest tablicą.

tylko domyślać

1

uzyskać dostęp OAuth API (w ogóle, nie tylko twitter) podać token dostępu i tajny token dostępu, aby uzyskać dostęp. W tym momencie nie ma "logowania", ponieważ miało to już miejsce, gdy autoryzowałeś używanie tokenu żądania, aby uzyskać token dostępu i tajny dostęp.

Uważam, że „Twitter Trzy autoryzacji OAuth Przykład” tu być pomocne: http://github.com/simplegeo/python-oauth2

+0

Witam! czego nie rozumiem, to jak zdobyć token dostępu, czy mógłbyś mi pomóc! –

+0

Otrzymasz token dostępu, gdy wykonasz $ oauth-> getRequestToken(); tablica ( \t \t \t \t \t \t \t 'wersja' \t \t \t => „1.0' , \t \t \t \t \t \t \t 'requestScheme' \t => Zend_Oauth :: REQUEST_SCHEME_HEADER, \t \t \t \t \t \t \t 'signatureMethod' \t => 'HMAC-SHA1' \t \t \t \t \t \t \t "callbackUrl" \t \t => $ callback_url, \t \t \t \t \t \t \t 'requestTokenUrl' \t => self :: REQUEST_TOKEN_URL, \t \t \t \t \t \t \t 'authorizeUrl' \t \t => self :: AUTHORIZE_URL, \t \t \t \t \t \t \t 'accessTokenUrl' \t = > self :: ACCESS_TOKEN_URL, \t \t \t \t \t \t \t 'consumerKey' \t \t => self :: $ _ consumer_key, \t \t \t \t \t \t \t 'consumerSecret' \t => self :: $ _ consumer_secret \t \t \t \t \t \t); – slik

+0

Musisz zrobić $ oauth = nowy Zend_Oauth_Consumer ($ params); $ result = $ oauth-> getRequestToken(); Parametry będą składać się z wymaganych elementów do uwierzytelniania Twittera. – slik