为Twitter写图书馆,哪里出错了?

时间:2013-08-14 21:25:29

标签: php api twitter oauth twitter-oauth

我正在编写一个库来连接使用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());

1 个答案:

答案 0 :(得分:1)

我真的建议你使用像tmhOAuth这样的已经创建的库之一,这样可以很容易地与twitter api进行交互。


至于您的问题,似乎您没有正确签署您的请求。至少我不能轻易找出是否包含所有请求参数来创建签名。

  

oauth_signature参数包含由其生成的值   运行所有其他请求参数和两个秘密值   通过签名算法。

本文档中描述了创建签名:https://dev.twitter.com/docs/auth/creating-signature