2010-10-14 26 views
5

Hola, terminé de codificar mi OAuth w/zend framework. Recupero mi Token. La cadena de consulta devuelto tiene identificador de usuario, nombre de usuario, secreto, símboloZend Framework Twitter OAuth + Token

trato la siguiente

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

, pero no puedo firmar con éxito en? Mi pregunta es, ¿paso el accessToken completo que contiene todos los valores? He intentado que también pero todavía no puede conseguir un error que no ha accedido con éxito

Respuesta

8

lo necesario para pasar una matriz adecuada opciones que incluye la clave de consumidor, secreto y fichas de los usuarios. El token debe ser un objeto Oauth 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!"); 

¡Lo anterior debería funcionar suponiendo que tiene todos los tokens necesarios! Todos estos tokens están disponibles en la página de desarrollo de Twitter en su propia configuración de aplicación personal.

+0

Gracias por esta respuesta correcta, ¡funciona genial! +1 – Poru

0

Prueba esto:

$ Twitter = new Zend_Service_Twitter ($ auth [ 'username'], $ auth [ 'símbolo'])

La construcción no es una matriz.

Sólo una conjetura

1

Para acceso a la API de OAuth (en general, no sólo el gorjeo) se proporciona el token de acceso y la clave secreta del token de acceso para obtener acceso. No hay un "inicio de sesión" en ese momento porque eso ya sucedió cuando autorizó el uso del token de solicitud para obtener el token de acceso y el token de acceso secreto.

encuentro el "Ejemplo de OAuth de Twitter de tres patas" aquí para ser útiles: http://github.com/simplegeo/python-oauth2

+0

¡Hola! Lo que no entiendo es cómo obtener el token de acceso, ¿podría ayudarme? –

+0

Recibirá el token de acceso cuando realiza un $ oauth-> getRequestToken(); array ( \t \t \t \t \t \t \t 'versión' \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 => auto\t \t 'consumerKey' :: $ _ consumer_key, \t \t \t \t \t \t \t 'consumerSecret' \t => self :: $ _ consumer_secret \t \t \t \t \t \t); – slik

+0

Necesita hacer $ oauth = new Zend_Oauth_Consumer ($ params); $ result = $ oauth-> getRequestToken(); los params consistirán en elementos necesarios para la autenticación de Twitter. – slik