0

我需要获取用户的 twitter 最新提要。我用了

https://api.twitter.com/1/statuses/user_timeline.json?oauth_token=ecwmW3pMB8euREHVljdySRexys6c6XYangqEANY&screen_name=twitter_name&count=1

但我得到“超出速率限制”客户端无法每小时发出 150 个请求。

我使用了 twitter Oauth 请求,使用了 consumer key、c​​onsumer secret、access token 和 access secret,代码如下

$oauth_consumer_key="Vqlj7vd9yHo5MZPnWGf3w";
$oauth_nonce="af00a3a26b15ec0178ce0342acc9b392";
$oauth_signature_method="HMAC-SHA1";
$oauth_timestamp="1341408794";
$oauth_token="620811780-30jD4XHWFvp15RcjmxHkLLicFlvMDuNaWp6fKjia";
$oauth_version="1.0";
$oauth_signature=rawurldecode("N6L4VJLJjY%2BPKxoelttqe2GOPAw%3D");

$url = "https://api.twitter.com/1/statuses/user_timeline.json?";
$url .= "screen_name=twitter_name";
$url .= "&oauth_consumer_key=".$oauth_consumer_key."";
$url .= "&oauth_token=".$oauth_token."";
$url .= "&oauth_nonce=".$oauth_nonce."";
$url .= "&oauth_signature_method=".$oauth_signature_method."";
$url .= "&oauth_timestamp=".$oauth_timestamp."";
$url .= "&oauth_version=1.0";
$url .= "&oauth_signature=".$oauth_signature."";
$url .= "&count=1";
$url .= "&include_rts=true";
$url .= "include_entities=true";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: api.twitter.com'));
$json = curl_exec($ch);
curl_close ($ch);
$data = json_decode($json, true);
print_r($json);

我仍然收到超出速率限制的错误。

任何人都可以帮助我使用 Oauth 获取 Twitter 最新提要。

谢谢。

4

1 回答 1

0

根据经验,如果您尝试自己处理谈判,那么 Twitter OAuth 会受到打击。我尝试了几个星期来实现这一目标,但一直出现“超出速率限制”和“无效 OAuth 密钥”等错误。我检查了一个图书馆,在同一小时内我可以获取状态、设置状态、发送带有和不带有图片的推文等。

这是我现在使用的,测试一下。它重量轻且易于使用。

https://github.com/themattharris/tmhOAuth/

于 2012-07-06T08:32:20.627 回答