3

我正在编写一个库来连接到使用Requests for PHP的 Twitter 。我不确定,但我认为我没有正确构建 OAuth,因为我无法进行身份验证。我已经仔细检查了它,并将它与另一个现有的库进行了检查,但似乎仍然无法正确。

代码在这里

这个想法是您实例化服务,向它发送配置参数,然后在它发出请求之前,它会生成'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());
4

1 回答 1

1

我真的建议您使用已经制作的库之一,例如 tmhOAuth,它可以非常轻松地与 twitter api 进行交互。


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

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

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

于 2013-08-28T12:46:26.250 回答