質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.95%

【Twitter認証】Twitterでログイン機能を作りたいが、トークンが作れない

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 2,483

score 1873

 はじめに

何がわからないかが分かっていないので、随時必要な情報を教えてください。
OAuth初心者です。

 質問

Twitterでサービスにログインする機能を作りたいと思い、以下のサイト様を丸コピーしました。
http://noumenon-th.net/programming/2016/03/08/twitteroauth/
※サーバのPHPのバージョンが7系なので、twitteroauthは、0.7.2を使っています。

しかし、実行してみるとlogin.phpで画面が真っ白のまま動きません。
挙動を調べてみると、どうやら、

//TwitterOAuthのインスタンスを生成し、Twitterからリクエストトークンを取得する
$connection = new TwitterOAuth(Consumer_Key, Consumer_Secret);
$request_token = $connection->oauth("oauth/request_token", array("oauth_callback" => Callback));

で、処理が止まってしまっているようです。
これはどのようにすれば修正できるのでしょうか?

お知恵をお貸しください、
よろしくお願いいたします。

 サーバ情報

・Ubuntu Server:16.10
・PHPバージョン:PHP 7.0.8-3ubuntu3 (cli) ( NTS )

 エラー情報(追記)

Notice: Use of undefined constant CURLOPT_CAINFO - assumed 'CURLOPT_CAINFO' in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 353

Notice: Use of undefined constant CURLOPT_CONNECTTIMEOUT - assumed 'CURLOPT_CONNECTTIMEOUT' in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 354

Notice: Use of undefined constant CURLOPT_HEADER - assumed 'CURLOPT_HEADER' in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 355

Notice: Use of undefined constant CURLOPT_HTTPHEADER - assumed 'CURLOPT_HTTPHEADER' in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 356

Notice: Use of undefined constant CURLOPT_RETURNTRANSFER - assumed 'CURLOPT_RETURNTRANSFER' in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 357

Notice: Use of undefined constant CURLOPT_SSL_VERIFYHOST - assumed 'CURLOPT_SSL_VERIFYHOST' in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 358

Notice: Use of undefined constant CURLOPT_SSL_VERIFYPEER - assumed 'CURLOPT_SSL_VERIFYPEER' in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 359

Notice: Use of undefined constant CURLOPT_TIMEOUT - assumed 'CURLOPT_TIMEOUT' in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 360

Notice: Use of undefined constant CURLOPT_URL - assumed 'CURLOPT_URL' in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 361

Notice: Use of undefined constant CURLOPT_USERAGENT - assumed 'CURLOPT_USERAGENT' in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 362

Notice: Use of undefined constant CURLOPT_ENCODING - assumed 'CURLOPT_ENCODING' in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 371

Notice: Use of undefined constant CURLOPT_POST - assumed 'CURLOPT_POST' in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 386

Notice: Use of undefined constant CURLOPT_POSTFIELDS - assumed 'CURLOPT_POSTFIELDS' in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 387

Fatal error: Uncaught Error: Call to undefined function Abraham\TwitterOAuth\curl_init() in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php:402 Stack trace: #0 /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php(334): Abraham\TwitterOAuth\TwitterOAuth->request('https://api.twi...', 'POST', 'Authorization: ...', Array) #1 /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php(135): Abraham\TwitterOAuth\TwitterOAuth->oAuthRequest('https://api.twi...', 'POST', Array) #2 /home/USERID/public_html/twitterlogin/login.php(18): Abraham\TwitterOAuth\TwitterOAuth->oauth('oauth/request_t...', Array) #3 {main} thrown in /home/USERID/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 402

 サーバエラー(追記2)

Fatal error: Uncaught Abraham\TwitterOAuth\TwitterOAuthException: <?xml version="1.0" encoding="UTF-8"?> <hash> <error>Desktop applications only support the oauth_callback value 'oob'</error> <request>/oauth/request_token</request> </hash> in /home/USER_NAME/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php:138 Stack trace: #0 /home/USER_NAME/public_html/twitterlogin/login.php(18): Abraham\TwitterOAuth\TwitterOAuth->oauth('oauth/request_t...', Array) #1 {main} thrown in /home/USER_NAME/public_html/twitterlogin/twitteroauth/src/TwitterOAuth.php on line 138
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • s8_chu

    2016/12/29 05:11

    login.phpの画面が真っ白ということは、エラーが起きている可能性があるので、login.phpのプログラムの先頭にini_set('display_errors',1);error_reporting(E_ALL);を追加して表示されたエラーの内容を追記すると回答が得られやすくなるかもしれません。

    キャンセル

  • nnahito

    2016/12/29 21:30

    ありがとうございます。エラーがたくさん出ましたので、掲載させていただきます。

    キャンセル

回答 1

+2

How to install ext-curl extension with PHP 7? - Stack Overflow

sudo apt-get install php-curl
sudo service apache2 restart

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/08 19:27

    ご回答ありがとうございます。
    こちらのコマンドを実行すると、「サーバエラー(追記2)」のようなエラーになりました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.95%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る