1

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 禁止 ...

4

1 に答える 1

0

わかりました、答えとして:)

$optionsに未定義ではなく、$opts渡す必要がありますstream_context_create

于 2013-03-19T13:54:01.263 に答える