TwitterAPIExchange突然停止工作

时间:2015-06-09 07:15:49

标签: php ajax json twitter

所以我正在制作一个Twitter获取网站,其中所有来自特定主题标签的推文都将使用ajax实时获取。一切正常,我想,直到它突然停止工作。如果我等了3分钟左右,它就会再次开始工作。 PHP给了我错误,如

  

注意:尝试获取非对象的属性......

我正在运行的代码:

require_once '../lib/TwitterAPIExchange.php';

$settings = array(
    'oauth_access_token' => "...",
    'oauth_access_token_secret' => "...",
    'consumer_key' => "...",
    'consumer_secret' => "..."
);

$url = 'https://api.twitter.com/1.1/search/tweets.json';
$getfield = '?q=#hashtag&result_type=recent';
$requestMethod = 'GET';

$twitter = new TwitterAPIExchange($settings);
$response = $twitter->setGetfield($getfield)
                             ->buildOauth($url, $requestMethod)
                             ->performRequest();

foreach(json_decode($response) as $result){
    foreach($result as $post){
        echo '<div class="post"><div class="header"><img src="'.$post->user->profile_image_url.'"><p class="user">'.$post->user->name.'</p></div><div class="text">'.$post->text.'</div></div>';
    }
    break;
}

1 个答案:

答案 0 :(得分:0)

我在@Uwe Allner的帮助下想出来了。事实证明Twitter API有一个叫API速率限制的东西。因此,正如您可能猜到的那样,它们限制了每x时间的请求数量。在“搜索”下,我注意到他们已经设置了每15分钟180次查询的限制。所以我可以每5秒进行一次查询。

180/15 = 12
60/12 = 5