2010-10-14 26 views
5

Merhaba OAuth w/zend çerçevemi kodlamayı yeni bitirdim. Jetonumu aldım. döndürülen sorgu dizesiZend Framework Twitter OAuth + Jetonu

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

denemek

aşağıdaki belirteç kullanıcı kimliği, kullanıcı adı, gizli sahiptir Ama başarıyla oturum olamaz? Sorum şu, tüm değerleri içeren tam accessToken'i geçermiyim? Ben de ama yine cant i başarıyla

cevap

8

Sen tüketici anahtarını gizli ve kullanıcının belirteçleri içeren uygun bir seçenek dizisi geçmesi gerekiyor. Jetonun bir Oauth Token Access nesnesi olması gerekir.

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

Yukarıdakiler gerekli tüm belirteçleri aldığınızı varsayarak çalışmalıdır! Tüm bu belirteçler, Twitter'ın dev sayfasında kendi kişisel uygulama ayarlarınızda mevcuttur.

+0

Bu doğru cevap için teşekkürler, harika çalışıyor! +1 – Poru

0

bu deneyin oturum vermedi bir hata ile denedim: = new Zend_Service_Twitter ($ auth [ 'kullanici'], $ auth

$ twitter [ 'token']

Yapı, dizi değil.

OAuth API erişimi için

1

Sadece bir tahmin (genel olarak sadece heyecan değil) belirteci ve erişim kazanmak için erişim belirteci gizli erişim sağlar. Bu noktada "oturum açma" yoktur, çünkü erişim belirtecini ve erişim sırrını erişim sırrını almak için istek belirtecini kullanmaya yetki verdiğinizde zaten gerçekleşmiştir.

Burada "Heyecan Üç Aşamalı OAuth Örneği" yardımcı olmak için bulmak: http://github.com/simplegeo/python-oauth2

+0

Merhaba! anlamadığım şey, erişim belirtecini nasıl alacağınızdır, bana yardım edebilir misiniz? –

+0

$ oauth-> getRequestToken() yaptığınızda erişim kodu alacaksınız; dizisi ( \t \t \t \t \t \t \t 'versiyonu' \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 => kendini :: REQUEST_TOKEN_URL, \t \t \t \t \t \t \t 'authorizeUrl' \t \t => kendini :: 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 => kendini :: $ _ tüketici_anahtarı, \t \t \t \t \t \t \t 'consumerSecret' \t => kendini :: $ _ consumer_secret \t \t \t \t \t \t); – slik

+0

$ oauth = yeni bir Zend_Oauth_Consumer ($ params) yapmalısınız; $ sonuç = $ oauth-> getRequestToken(); Paramilleri, twitter kimlik doğrulaması için gerekli öğelerden oluşacaktır. – slik