• 締切済み

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']);

みんなの回答

noname#244856
noname#244856
回答No.1

http://puu.sh/3HyTo.png cURL関連でエラーが起こっているようですね。 具体的にエラーNo.77は、 http://curl.haxx.se/libcurl/c/libcurl-errors.html これを見ると CURLE_SSL_CACERT_BADFILE (77) Problem with reading the SSL CA cert (path? access rights?) に該当していることが分かります。 SSLのエラーでしょうか。 検索してみたらいろいろヒットしますが・・・ちょっと今回のケースの解決につながる直接的な情報かどうかは分かりません・・・ http://hiro99ma.blogspot.jp/2013/03/cygwincurlcurlrc.html 'oauth_callback' => 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ↓ 'oauth_callback' => 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] とりあえずこれでどうですかね。 今のTwitterってセキュリティ上SSL以外受け付けてなかったと思うので。 こちらもどうぞ。 # 正直Codebirdは分かりづらいのであんまりおすすめ出来ません・・・ # 以下のどちらかをオススメします。 twitteroauth(とってもシンプル) https://github.com/abraham/twitteroauth UltimateOAuth(私が開発してます) https://github.com/Certainist/UltimateOAuth/blob/master/README-Japanese.md

関連するQ&A