https://twitteroauth.com/redirect.php
上記サイトを参考にして、実装していますが、認証までは成功しています。
しかし、連携が完了した後にアクセストークンが取得できていないようです。
CONSUMER_KEYとCONSUMER_SECRETには間違いがなく、コールバックURLもきちんと指定しています。
display.phpのエラーはYour credentials do not allow access to this resourceとなっております。
もしミスや試すべきことがあれば教えて頂けると幸いです。
login.php
php
1 2ini_set('display_errors', 1); 3session_start(); 4 5require_once 'common.php'; 6require_once 'twitteroauth/autoload.php'; 7use Abraham\TwitterOAuth\TwitterOAuth; 8 9/*CONSUMER_KEYとCONSUMER_SECRETはcommon.phpで読み取っておりミスがない*/ 10$twitter_connect = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET); 11$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET); 12 13$request_token = $connection->oauth('oauth/request_token', array('oauth_callback' => OAUTH_CALLBACK)); 14 15$_SESSION['oauth_token'] = $request_token['oauth_token']; 16$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret']; 17 18$url = $connection->url('oauth/authorize', array('oauth_token' => $request_token['oauth_token'])); 19header("Location:".$url);
callback.php
php
1session_start(); 2require_once 'common.php'; 3require 'vendor/autoload.php'; 4use Abraham\TwitterOAuth\TwitterOAuth; 5 6/*CONSUMER_KEYとCONSUMER_SECRETはcommon.phpで読み取っておりミスがない*/ 7$request_token = []; 8$request_token['oauth_token'] = $_SESSION['oauth_token']; 9$request_token['oauth_token_secret'] = $_SESSION['oauth_token_secret']; 10 11if (isset($_REQUEST['oauth_token']) && $request_token['oauth_token'] !== $_REQUEST['oauth_token']) { 12 // Abort! Something is wrong. 13} 14 15$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $request_token['oauth_token'], $request_token['oauth_token_secret']); 16$access_token = $connection->oauth("oauth/access_token", ["oauth_verifier" => $_REQUEST['oauth_verifier']]); 17$_SESSION['access_token'] = $access_token; 18 19header("Location:https://XXXXXXXXXX");
display.php
php
1session_start(); 2 3require_once 'common.php'; 4require_once 'twitteroauth/autoload.php'; 5 6use Abraham\TwitterOAuth\TwitterOAuth; 7 8$access_token = $_SESSION['access_token']; 9 10/*CONSUMER_KEYとCONSUMER_SECRETはcommon.phpで読み取っておりミスがない*/ 11$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']); 12 13//ユーザー情報をGET 14$user = $connection->get("account/verify_credentials"); 15 16var_dump($user);
あなたの回答
tips
プレビュー