前提・実現したいこと
自前のWEBサイトでTwitterログイン認証を実施しようとしていますが、掲題のエラーで躓いています。
エラー内容・対処法にについて色々調べましたが、解決に至らすこちらで質問させていただくことにしました。
ご教示の程、宜しくお願い致します。
発生している問題・エラーメッセージ
以下のエラーが発生しています。
Fatal error: Uncaught Abraham\TwitterOAuth\TwitterOAuthException: {"errors":[{"code":417,"message":"Desktop applications only support the oauth_callback value 'oob'"}]}
該当のソースコード
PHP
1<?php 2//アプリケーションの Consumer Key と Consumer Secret 3$sTwitterConsumerKey = '********************'; //Consumer Key (API Key) 4$sTwitterConsumerSecret = '********************'; //Consumer Secret (API Secret) 5 6//アプリケーションのコールバックURL 7$sTwitterCallBackUri = 'https://www.xxxxx.com/community_room/home.php'; //コールバックURL 8 9//変数初期化 10$objTwitterConection = NULL; //TwitterOAuthクラスのインスタンス化 11$aTwitterRequestToken = array(); //リクエストトークン 12$sTwitterRequestUrl = ''; //認証用URL 13$objTwitterAccessToken = NULL; //アクセストークン 14$objTwUserInfo = NULL; //ユーザー情報 15?> 16 17//セッションスタート 18session_start(); 19 20//文字セット 21header("Content-type: text/html; charset=utf-8"); 22 23//インクルード 24require_once 'config.php'; 25require_once 'twitteroauth-master/autoload.php'; 26 27//インポート 28use Abraham\TwitterOAuth\TwitterOAuth; 29 30//TwitterOAuthクラスをインスタンス化 31$objTwitterConection = new TwitterOAuth($sTwitterConsumerKey, $sTwitterConsumerSecret); 32 33//oauthリクエストトークンの取得 34$aTwitterRequestToken = $objTwitterConection->oauth('oauth/request_token', array('oauth_callback' => $sTwitterCallBackUri)); 35 36//oauthリクエストトークンをセッションに格納 37$_SESSION['twOauthToken'] = $aTwitterRequestToken['oauth_token']; 38$_SESSION['twOauthTokenSecret'] = $aTwitterRequestToken['oauth_token_secret']; 39 40### twitter 認証へ 41 42//Twitter認証URLの作成 43$sTwitterRequestUrl = $objTwitterConection->url('oauth/authenticate', array('oauth_token' => $_SESSION['twOauthToken'])); 44 45//Twitter認証画面へリダイレクト 46header('location: '.$sTwitterRequestUrl); 47?>
試したこと
まずTwitter開発者アカウントの申請をおこないました。この際「callbacks URL」に上記PHPソースに記載のコールバックURLを入力しています。
取得したConsumer keyとConsumer secretを、PHPソースに記述しています。
補足情報(FW/ツールのバージョンなど))
以下のサイトを参考にしました。
PHP で Twitter API OAuth 認証 「ログイン」
あなたの回答
tips
プレビュー