Twitter codebirdでエラーがでます
http://dotinstall.com/lessons/tw_connect_php_v2
上記のサイトを参考にツイッターでログインするサービスを作りたいのですが、
下記のようなエラーがでてしまいます。
Fatal error: Uncaught exception 'Exception' with message 'Error 77 while validating tificate.' in C:\xampp\htdocs\tw\codebird.php:923 Stack trace: #0 C:\xampp\htdocs\tw\codebird.php(294): Codebird\Codebird->_callApi('POST', 'oauth/request_t...', 'oauth/request_t...', Array, false, false) #1 C:\xampp\htdocs\tw\callback.php(15): Codebird\Codebird->__call('oauth_requestTo...', Array) #2 C:\xampp\htdocs\tw\callback.php(15): Codebird\Codebird->oauth_requestToken(Array) #3 {main} thrown in C:\xampp\htdocs\tw\codebird.php on line 923
認証にはcodebird.phpというライブラリを使っています。
https://github.com/mynetx/codebird-php
<a href="callback.php">twitterでログイン</a>
これをクリックすると、callback.phpに飛び認証が行われるという具合です。
callback.php内ではconfig.phpとcodebird.phpを読み込んでます。
以下callback.phpコード
<?php
require_once('config.php');
require_once('codebird.php');
session_start();
\Codebird\Codebird::setConsumerKey('CONSUMER_KEY', 'CONSUMER_SECRET');
$cb = \Codebird\Codebird::getInstance();
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;
$cb->setToken($reply->oauth_token, $reply->oauth_token_secret);
$me = $cb->account_verifyCredentials();
var_dump($me);
exit;
// 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']);
お礼
お礼が遅れてすみません。 自分も他のクライアントで対応していたのですが、いつの間にか直っていましたw