2010-10-14 17 views
5

Ciao, ho appena finito di scrivere il mio framework OAuth w/zend. Recupero il mio token La stringa di query restituito deve user id, username, segreto, gettoneZend Framework Twitter OAuth + Token

provo il seguente

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

ma non posso firmare con successo in? La mia domanda è passare l'accesso completo che contiene tutti i valori? Ho provato anche, ma ho ancora cant ottenere un errore che io non ho firmato nel successo

risposta

8

È necessario passare una vera e propria gamma opzioni che include la chiave dei consumatori, segreta e token dell'utente. Il token deve essere un oggetto di accesso token Oauth.

$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!"); 

Quanto sopra dovrebbe funzionare presupponendo di avere tutti i token necessari! Tutti questi token sono disponibili sulla pagina di sviluppo di Twitter nelle tue impostazioni personali.

+0

Grazie per questa risposta corretta, funziona alla grande! +1 – Poru

0

Prova questa:

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

La costruzione non è array.

Solo una supposizione

1

Per OAuth accesso alle API (in generale, non solo Twitter) si fornisce il token di accesso e il token di accesso segreto per ottenere l'accesso. Non c'è "accesso" a quel punto perché è già successo quando hai autorizzato l'uso del token di richiesta per ottenere il token di accesso e accedere al segreto del token.

trovo il "Twitter Three-legged OAuth Esempio" qui per essere utile: http://github.com/simplegeo/python-oauth2

+0

Ciao! quello che non capisco è come ottenere il token di accesso, potresti aiutarmi! –

+0

Riceverai il token di accesso quando esegui $ oauth-> getRequestToken(); matrice ( \t \t \t \t \t \t \t 'versione' \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

È necessario eseguire $ oauth = new Zend_Oauth_Consumer ($ params); $ result = $ oauth-> getRequestToken(); i parametri saranno costituiti da elementi richiesti per l'autenticazione di Twitter. – slik

Problemi correlati