2017-09-05 85 views
1

我试图使用Twitter的API,我想指望有多少鸣叫中含有一种特殊的主题标签的过去24小时内被啾啾。Twitter API - 如何计算过去24小时内通过#标签推文?

我不可能真正找到一种方式来做到这一点?它似乎只限于100?

我需要鸣叫的数量在过去24小时内,以建立一些统计上我的网站。

当前代码:

<?php 
ini_set('display_errors', 1); 
require_once('TwitterAPIClass/TwitterAPIExchange.php'); 

/** Set access tokens here - see: https://dev.twitter.com/apps/ **/ 
$settings = array(
    'oauth_access_token' => "XXXX", 
    'oauth_access_token_secret' => "YYYY", 
    'consumer_key' => "XXXX", 
    'consumer_secret' => "YYYY" 
);  

/** Perform a GET request and echo the response **/ 
/** Note: Set the GET field BEFORE calling buildOauth(); **/ 
$url = 'https://stream.twitter.com/1.1/statuses/filter.json'; 
$getfield = '?track=%23beer'; 
$requestMethod = 'GET'; 
$twitter = new TwitterAPIExchange($settings); 
$twitter_data = json_decode($twitter->setGetfield($getfield)->buildOauth($url, $requestMethod)->performRequest(), true); 

foreach($twitter_data['statuses'] as $tweets) { 
    echo $tweets['created_at'] . '<br>'; 

}    
?> 

回答

0

这可能不是完美的答案,但我假设你的假设是正确的。 Twitter REST API已经是一个指标。 (我知道你在使用Stream API,但让我解释一下)。

由于微博的API都遵循由API的开发商自己成立的一般规则,我假设该流API遵循同样的法规为REST API。那鸣叫返回的量被限制为100。而且即使有流和REST API即使它不是文档中的描述之间没有明显的联系,我想说的是:中GET search/tweets状态(count参数)的文档这就是数组中只有100个元素的原因。

如果可能适合你,你可以运行发送在一定的时间间隔向服务器请求一个脚本,然后在数据库/文本文件/保存的任何个人微博。由于请求频率的规定设置为每15分钟15次或每15分钟180次,这将是一种解决方法。

+1

嗯好吧..我想我会尝试循环它的话..非常感谢您的评论! :) –