Twitter アプリケーションのみの認証で oAuth2 を使用する方法を理解しようとしているので、自分の Web サイトにフィードを表示できますが、トークンの取得手順で行き詰っています。私はおそらくそれを正しく行っていません。oAuth についてまったく理解できないので、ここに私のコードを示します。何が間違っていたのか教えてもらえますか?
//Expired, request a bearer access token
define('TWITTER_CONSUMER_KEY', 'xyz');
define('TWITTER_CONSUMER_SECRET', 'abc');
$encodedAccessToken = base64_encode(TWITTER_CONSUMER_KEY.':'.TWITTER_CONSUMER_SECRET);
$options = array(
'http' => array(
'method' => 'POST',
'header' => 'Authorization: Basic '.$encodedAccessToken."\nContent-Type: application/x-www-form-urlencoded;charset=UTF-8",
'content' => 'grant_type=client_credentials',
'protocol_version' => 1.1,
),
);
$context = stream_context_create($opts);
$result = file_get_contents('https://api.twitter.com/oauth2/token', false, $context);
var_dump($result);
その後、403 エラーが発生し続けます。
警告: file_get_contents( https://api.twitter.com/oauth2/token ) [function.file-get-contents]: ストリームを開くことができませんでした: HTTP 要求が失敗しました! HTTP/1.0 403 禁止 ...