2013-06-16 36 views
5

Tôi đang cố gắng tạo một ứng dụng cơ bản xác thực với Twitter và đăng thông báo thay mặt cho người dùng qua thư viện codebird-php (https://github.com/mynetx/codebird-php)ứng dụng Twitter codebird-php. Lỗi 77 trong khi xác thực chứng chỉ API Twitter

Tôi đã sao chép ví dụ mã hiển thị trên readme và thay đổi YOURKEY và YOURSECRET bằng khóa và bí mật của ứng dụng của tôi.

Mọi thứ sẽ hoạt động tốt nhưng khi tôi tải trang của mình, tôi nhận được thông báo cho biết: Lỗi 77 khi xác thực chứng chỉ API Twitter.

Tôi không thể tìm thấy loại lỗi này ở bất cứ nơi nào trên google ... Ý nghĩa khá rõ ràng nhưng tôi không biết làm thế nào để giải quyết nó. Có suy nghĩ gì không?

Mã là như sau:

require_once ('codebird.php'); 
\Codebird\Codebird::setConsumerKey('YOURKEY', 'YOURSECRET'); // I changed it to my settings 

$cb = \Codebird\Codebird::getInstance(); 
session_start(); 

if (! isset($_SESSION['oauth_token'])) { 
// get the request token 
$reply = $cb->oauth_requestToken(array(
    'oauth_callback' => 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] 
)); 

// store the token 
$cb->setToken($reply->oauth_token, $reply->oauth_token_secret); 
$_SESSION['oauth_token'] = $reply->oauth_token; 
$_SESSION['oauth_token_secret'] = $reply->oauth_token_secret; 
$_SESSION['oauth_verify'] = true; 

// redirect to auth website 
$auth_url = $cb->oauth_authorize(); 
header('Location: ' . $auth_url); 
die(); 

} elseif (isset($_GET['oauth_verifier']) && isset($_SESSION['oauth_verify'])) { 
// verify the token 
$cb->setToken($_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); 
unset($_SESSION['oauth_verify']); 

// get the access token 
$reply = $cb->oauth_accessToken(array(
    'oauth_verifier' => $_GET['oauth_verifier'] 
)); 

// store the token (which is different from the request token!) 
$_SESSION['oauth_token'] = $reply->oauth_token; 
$_SESSION['oauth_token_secret'] = $reply->oauth_token_secret; 

// send to same URL, without oauth GET parameters 
header('Location: ' . basename(__FILE__)); 
die(); 
} 

// assign access token on each page load 
$cb->setToken($_SESSION['oauth_token'], $_SESSION['oauth_token_secret']); 

Trả lời

5

Giải Quyết, tôi đã phải có .pem nào mà không được bao gồm trong gói Tôi đã tải về. Kết luận: Không bao giờ tải xuống từ các nguồn không đáng tin cậy!

+0

Vì một lý do nào đó, tôi đã thay đổi thành .pem thành một .cer –

0

Vui mừng khi thấy rằng điều này đã giải quyết được vấn đề của bạn.

Nhân tiện, ban đầu bạn tải xuống codebird từ đâu?

+0

Một số hướng dẫn trên diễn đàn, tôi sẽ cố gắng tìm điều đó cho bạn. – xShirase

+0

http://www.queness.com/post/14004/easiest-way-to-retrieve-twitter-timeline-and-hashtags-twitter-oauth-api-11? –

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