Php Twitter流API-401未经授权

Php Twitter流API-401未经授权,php,twitter,websocket,stream,Php,Twitter,Websocket,Stream,我无法打开与Twitter流API的连接。不管我怎么做,我能得到的唯一回应是401未经授权 我做了各种各样的测试,甚至使用了我在GitHub上找到的一些库 即使在我的代码之外,使用cURL,我也无法让它工作 $oauth = array( 'oauth_consumer_key' => $this->m_oauth_consumer_key, 'oauth_nonce' => time(), 'oauth_signature_method' =>

我无法打开与Twitter流API的连接。不管我怎么做,我能得到的唯一回应是
401未经授权

我做了各种各样的测试,甚至使用了我在GitHub上找到的一些库

即使在我的代码之外,使用cURL,我也无法让它工作

$oauth = array( 
    'oauth_consumer_key' => $this->m_oauth_consumer_key,
    'oauth_nonce' => time(),
    'oauth_signature_method' => 'HMAC-SHA1',
    'oauth_token' => $this->m_oauth_token,
    'oauth_timestamp' => time(),
    'oauth_version' => '1.0'
);

$base_info = $this->buildBaseString($this->url, 'GET', $oauth);
$composite_key = rawurlencode($this->m_oauth_consumer_secret) . '&' . rawurlencode($this->m_oauth_token_secret);
$oauth_signature = base64_encode(hash_hmac('sha1', $base_info, $composite_key, true));
$oauth['oauth_signature'] = $oauth_signature;
$header = $this->buildAuthorizationHeader($oauth);
这是我构建HTTP请求头和签名的代码。我尝试了很多不同的方法,但都没有成功

还有人能帮我吗


提前谢谢你。

我也有同样的问题。转到应用程序设置屏幕,将回调URL更改为yoursite.com之类的内容。我不知道为什么,但一旦你改变了,你就不会再看到401错误了

我今天试图使用node.js访问API,但出现了相同的错误。我的Windows还没有更新我的时钟,所以我的本地计算机时间缩短了一个小时(今天是夏令时开关)。 当我改变它时,它又开始工作了。
他们应该有比普通401更好的错误消息。

如果您使用的是Linux,请将您的时间与NTP服务器同步:

$ sudo ntpdate ntp.org

但愿我能帮忙。现在我只能说加入俱乐部:(我想我们还需要一些代码。我不清楚,例如,你调用的url是什么。如果不是这样,请尝试使用1.1来反映新的api,我恐怕我帮不上更多的忙,因为它对我不起作用。这个答案帮助了我,我想它应该被接受。将进一步解释401的原因,在我的例子中是timestamp,它是与我的本地网络时间只差5分钟。更新后效果很好。哇,同样的事情也发生在我的android上。哈哈。更详细的错误消息会有所帮助。他们使用的是流式api,显然他们不在乎。