Php 为Twitter编写库,我错在哪里?

Php 为Twitter编写库,我错在哪里?,php,api,twitter,oauth,twitter-oauth,Php,Api,Twitter,Oauth,Twitter Oauth,我正在写一个库来连接Twitter,它使用。我不确定,但我认为我没有正确构建OAuth,因为我无法进行身份验证。我已经对它进行了双重检查,并将其与另一个现有库进行了对比,但似乎仍然无法正确使用它 代码是 其思想是实例化服务,向其发送配置参数,在它执行请求之前,它生成'Authorization:OAuth xxx'头并将其添加到所述请求中 $twitter = array( 'consumer_key' => '', 'consumer_secret'

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

我真的建议您使用一个已经制作好的库,比如tmhOAuth,这使得与twitterapi的交互非常容易


至于你的问题,你似乎没有正确地签署你的请求。至少我不容易发现是否包含了所有请求参数来创建签名

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


创建签名如本文档所述:。

您是否在他们的平台上创建了twitter应用程序并获得了api调用的密钥?是的,显然,我创建了twitter应用程序。我从Twitter服务器收到的响应是响应代码是401,消息是
{“errors”:[{“message”:“无法验证您”,“code”:32}]}