我正在尝试了解如何将oAuth2与twitter应用程序一起使用auth,这样我就可以在我的网站上显示一个Feed,但我仍然坚持使用令牌获取步骤。我可能做得不对,我根本无法理解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禁止进入......
答案 0 :(得分:0)
好的,作为答案:)
您需要将$options
,而不是未定义的$opts
传递给stream_context_create
。