• 締切済み

OAuth認証でtwitterにアクセスできません

PHPでOAuth認証でtwitterにつぶやきを投稿するプログラムを作ってます。 twitterの画面までは飛ぶのですが。 こちらです。 このページに対するリクエスト・トークンがありません。アプリケーションがTwitterアカウントを使用するかどうかを確認するために必要な特殊キーです。 送信したサイトまたはアプリケーションに戻って再度お試しください。何らかの手違いがあったかもしれません。 という文章が出てきて、アプリ認証画面に飛びません。 twitterのdeveloperのページでちゃんと登録して、キーなどはちゃんと入力しました。 今はローカルで試しています。 該当のプログラムはこんな感じです。 ~~~~~~ $twitter = new tmhOAuth( array("consumer_key"=>"****","consumer_secret"=>"****")); $here = tmhUtilities::php_self(); session_start(); if(isset($_REQUEST["command"]))switch($_REQUEST["command"]){ case "authorize"; //OAuth認可,まずリクエストトークンを取得 $twitter->request("POST",$twitter->url("oauth/request_token",""), array("oauth_callback" => $here."?command=callback")); //リクエストトークンはコールバックを受けてアクセストークンする際に必要なのでセッションに格納 $_SESSION["request_token"] = $twitter->extract_params($twitter->response["response"]); //twitterの認証画面へリダイレクト header("Location:".$twitter->url("oauth/authorize","")."?oauth_token={$_SESSION['request_token']['oauth_token']}"); break; ~~~~~~

みんなの回答

回答No.3

twitterアプリ登録で アプリケーションタイプは ちゃんとブラウザになってますか? callbackは指定してますか? アプリケーションタイプを ブラウザにしてもcallbackを指定しないと クライアントにされてしまうようです

azu200
質問者

お礼

色々と回答してくださりありがとうございました。 バージョンの古いtmhOAuthを使用したら動きました。

すると、全ての回答が全文表示されます。
回答No.2

もう真っ向正直に header("Location:".$twitter->url("oauth/authorize","")."?oauth_token={$_SESSION['request_token']['oauth_token']}"); ↓ header("Location:https://api.twitter.com/oauth/authorize?oauth_token=".$_SESSION['request_token']['oauth_token']); にしちゃうとか

azu200
質問者

補足

回答ありがとうございます。 試させていただきましたが、また同じ画面が表示されてダメでした。

すると、全ての回答が全文表示されます。
回答No.1

ローカルじゃ動かないと思うよ OAuthは許可されたURLからのコンシューマーキーをもった アプリケーションのリクエストに対してリクエストトークン発行して… みたいなカンジなんで、あくまで動くのは登録したURLに 置かれているアプリケーションだけ 登録したURLのサーバーに置かないと動かない

azu200
質問者

補足

サーバーにあげてみましたが、それでも同じ画面が出てきました。 ちゃんと登録の方のURLも変更したのですが・・・

すると、全ての回答が全文表示されます。

専門家に質問してみよう