2010-10-14 40 views
5

Xin chào, tôi vừa hoàn thành việc viết mã khung OAuth w/zend của tôi. Tôi lấy Mã của tôi. Chuỗi truy vấn trở có user id, tên người dùng, bí mật, tokenZend Framework Twitter OAuth + Mã thông báo

tôi thử như sau

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

Nhưng tôi không thể đăng ký thành công? Câu hỏi của tôi là tôi chuyển toàn bộ accessToken chứa tất cả các giá trị? Tôi cố gắng mà cũng nhưng tôi vẫn không thể nhận được một lỗi mà tôi đã không đăng nhập thành công

Trả lời

8

Bạn cần phải vượt qua một tùy chọn mảng thích hợp trong đó bao gồm chủ yếu người tiêu dùng của bạn, bí mật và thẻ của người dùng. Mã thông báo phải là đối tượng Truy cập mã thông báo 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!"); 

Điều trên nên đảm bảo bạn có tất cả các mã thông báo bắt buộc! Tất cả các thẻ này đều có sẵn trên trang dev của Twitter trong cài đặt ứng dụng cá nhân của riêng bạn.

+0

Cảm ơn câu trả lời đúng này, hoạt động tuyệt vời! +1 – Poru

0

Hãy thử điều này:

$ twitter = new Zend_Service_Twitter ($ auth [ 'username'], $ auth [ 'dấu hiệu'])

Công trình không phải là mảng.

Chỉ cần một đoán

1

Đối với OAuth truy cập API (nói chung, không chỉ twitter) mà bạn cung cấp access token và khả năng tiếp cận bí mật dấu hiệu để truy cập. Không có "đăng nhập" tại thời điểm đó vì điều đó đã xảy ra khi bạn ủy quyền sử dụng mã thông báo yêu cầu để nhận mã thông báo truy cập và mã thông báo truy cập.

tôi tìm ra "Twitter Ba OAuth Ví dụ" ở đây trở nên hữu ích: http://github.com/simplegeo/python-oauth2

+0

Xin chào! những gì tôi không hiểu là làm thế nào để có được các mã thông báo truy cập, bạn có thể plz giúp tôi! –

+0

Bạn sẽ nhận được mã thông báo truy cập khi bạn thực hiện $ oauth-> getRequestToken(); mảng ( \t \t \t \t \t \t \t 'phiên bả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 => tự :: REQUEST_TOKEN_URL, \t \t \t \t \t \t \t 'authorizeUrl' \t \t => tự :: 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 => tự :: $ _ consumer_key, \t \t \t \t \t \t \t 'consumerSecret' \t => tự :: $ _ consumer_secret \t \t \t \t \t \t); – slik

+0

Bạn cần thực hiện $ oauth = new Zend_Oauth_Consumer ($ params); $ result = $ oauth-> getRequestToken(); params sẽ bao gồm các mục cần thiết để xác thực twitter. – slik

Các vấn đề liên quan