1

我正在尝试了解如何将 oAuth2 与仅 twitter 应用程序一起使用身份验证,以便我可以在我的网站上显示提要,但我被困在令牌获取步骤中。我可能做得不对,我根本无法理解 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的 to stream_context_create

于 2013-03-19T13:54:01.263 回答