我正在编写一个库来连接使用Requests for PHP的Twitter。我不确定,但我不认为我正在构建OAuth,因为我无法进行身份验证。我已经对它进行了双重检查,并将其与另一个现有的库进行了对比,但仍然无法正确使用它。
代码为here。
您的想法是实例化服务,发送配置参数,并在它执行请求之前,它会生成'Authorization: OAuth xxx'
标头并将其添加到所述请求中。
$twitter = array(
'consumer_key' => '',
'consumer_secret' => '',
'access_token' => '',
'access_token_secret' => '',
'screen_name' => '_hassankhan',
'api_url' => 'https://api.twitter.com/1.1/'
);
$service = new OAuth1AService('Twitter', $twitter['api_url']);
$service->config($twitter);
$service->doGet(
'statuses/user_timeline.json',
array(
'screen_name' => '_hassankhan',
'include_entities' => 'true'
),
array(),
'raw'
);
print($service->getResult());
答案 0 :(得分:1)
我真的建议你使用像tmhOAuth这样的已经创建的库之一,这样可以很容易地与twitter api进行交互。
至于您的问题,似乎您没有正确签署您的请求。至少我不能轻易找出是否包含所有请求参数来创建签名。
oauth_signature参数包含由其生成的值 运行所有其他请求参数和两个秘密值 通过签名算法。
本文档中描述了创建签名:https://dev.twitter.com/docs/auth/creating-signature。