我遇到Twitter Search API的问题。我试图获取100个最受欢迎的推文的转发总量,用户提供的主题。
我正在尝试使用此代码实现此目的。
<?php
//Debugging
ini_set('display_errors', 'On');
error_reporting(E_ALL);
//Include Tokens file
require_once('tokens.php');
//Include Auth lib
require_once('twitterAuth/TwitterAPIExchange.php');
//Grab subject from url
$subject = $_GET["subject"];
//Request
$url = 'https://api.twitter.com/1.1/search/tweets.json';
$getfield = '?q='.$subject.'&count=100&result_type=popular';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
$result = $twitter->setGetfield($getfield)
->buildOauth($url, $requestMethod)
->performRequest();
$json_output = json_decode($result, true); //getting the file content as array
$count = 0;
$total = 0;
foreach($json_output['statuses'] as $tweets) {
$count = intval($tweets['retweet_count']);
$total = $total + $count;
}
echo '{"data":[{"retweet_count":'.$total.'}]}';
?>
虽然当我使用 result_type = mixed 或 result_type = recent 时此代码运行良好,但由于某种原因,当我将其更改为 result_type =流行,即使Twitter API已在其文档中列为选项。 Twitter Search API documentation。当我运行请求时它不会返回任何错误,它不会显示任何反馈。当我替换流行的混合或最近,代码工作得很好。被困在这一段时间,帮助将不胜感激!提前谢谢!
答案 0 :(得分:0)
我认为这在很大程度上取决于你搜索的内容。 Twitter搜索API仅允许您检索过去一周的推文。如果那个星期没有流行的推文,你就不会看到任何结果。
例如 - 搜索&#34; Android&#34;显示这些受欢迎的结果
https://snap.apigee.com/1KlHi9m
但是,如果我搜索&#34; qwertyuiop&#34;没有来自API的结果
https://snap.apigee.com/1ZT56wV
即使普通的Twitter搜索显示结果https://twitter.com/search?q=qwertyuiop&src=typd