2010-10-14 8 views
5

Bonjour, Je viens de terminer le codage de mon framework OAuth w/zend. Je récupère mon Token. La chaîne de requête retourné a l'ID utilisateur, nom d'utilisateur, secret, jetonZend Framework Twitter OAuth + Token

Je effectuez les opérations suivantes

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

Mais je ne peux pas signer avec succès? Ma question est-ce que je passe le full accessToken qui contient toutes les valeurs? J'ai essayé aussi, mais je ne peux toujours pas obtenir une erreur que je ne l'ai pas vous connecter avec succès

Répondre

8

Vous devez passer un tableau d'options appropriée qui comprend la clé client, le secret et les jetons de l'utilisateur. Le jeton doit être un objet 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!"); 

Ce qui précède devrait fonctionner si vous avez tous les jetons requis! Tous ces jetons sont disponibles sur la page de développement de Twitter dans vos paramètres d'application personnels.

+0

Merci pour cette bonne réponse, ça va! +1 – Poru

0

Essayez ceci:

$ twitter = new Zend_Service_Twitter ($ auth [ 'username'], $ auth [ 'jeton']

La construction n'est pas une matrice.

Juste une supposition

1

pour l'accès API OAuth (en général, pas seulement twitter) vous fournissez jeton d'accès et l'accès secret de jeton pour y accéder. Il n'y a pas de «connexion» à ce moment-là, car cela s'est déjà produit lorsque vous avez autorisé l'utilisation du jeton de demande afin d'obtenir le jeton d'accès et le jeton d'accès secrets.

Je trouve le « Twitter à trois pattes OAuth exemple » ici pour être utile: http://github.com/simplegeo/python-oauth2

+0

Salut! ce que je ne comprends pas, c'est comment obtenir le jeton d'accès, pourriez-vous m'aider! –

+0

Vous recevrez le jeton d'accès lorsque vous faites un $ oauth-> getRequestToken(); matrice ( \t \t \t \t \t \t \t 'version' \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 => auto :: REQUEST_TOKEN_URL, \t \t \t \t \t \t \t 'authorizeUrl' \t \t => auto :: AUTHORIZE_URL, \t \t \t \t \t \t \t 'accessTokenUrl' \t = > auto :: ACCESS_TOKEN_URL, \t \t \t \t \t \t \t 'consumerKey' \t \t => auto :: $ _ consumer_key, \t \t \t \t \t \t \t 'consumerSecret' \t => auto :: $ _ consumer_secret \t \t \t \t \t \t); – slik

+0

Vous devez faire un $ oauth = new Zend_Oauth_Consumer ($ params); $ resultat = $ oauth-> getRequestToken(); Les params seront constitués des éléments requis pour l'authentification de Twitter. – slik