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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

931閲覧

PHP Twitterの連携アプリの許可→投稿について Your credentials do not allow access to this resource

mei1216

総合スコア28

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/12/18 02:59

編集2019/12/18 03:00

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

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問