回复特定推文,Twitter API

98

在 Twitter API 中,是否有一种方法可以获取特定推文的回复?谢谢。


也许这个仓库可以帮到你:https://github.com/ScrPzz/twitter_replies_scraper - Alessandro Togni
13个回答

2

正如Satheesh所说,它运作得很好。这是我使用的REST API代码:

ini_set('display_errors', 1);
require_once('TwitterAPIExchange.php');

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



// Your specific requirements
$url = 'https://api.twitter.com/1.1/search/tweets.json';
$requestMethod = 'GET';
$getfield = '?q=to:screen_name&sinceId=twitter_id';

// Perform the request
$twitter = new TwitterAPIExchange($settings);
$b =  $twitter->setGetfield($getfield)
             ->buildOauth($url, $requestMethod)
             ->performRequest();

$arr = json_decode($b,TRUE);

echo "Replies <pre>";
print_r($arr);
die;

1

由于statuses/mentions_timeline将返回最近的20条提及,因此调用效率不高,并且有限制,如每个窗口(15分钟)75个请求,我们可以使用user_timeline

最佳方法:1.从status/show获取screen_name或user_id参数。
2.现在使用user_timeline
GET https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=screen_name&count=count

(screen_name==从status/show获取的名称)
(count== 1到最大200)
count:指定要尝试检索的推文数,最多每个不同请求200个。

从结果中解析返回值,查找与原始推文ID匹配的in_reply_to_status_id。

显然,这不是理想的,但它可以工作。


0
如果您需要获取与某个用户有关的所有回复,无论日期范围如何,并且您只需要执行一次(比如下载您的内容),这是可行的。
  • 创建一个Twitter开发应用程序
  • 申请提升的凭证。在填写表格后,您将立即获得它们。今天,我在两个不同的账户上都成功获得了。
    • 您的开发账户现在可以在“沙盒”层次中访问v1.1 API搜索。您最多可以使用50个请求访问tweets/search/fullarchive端点,并返回最多5000条推文。
  • 为您的开发应用程序创建一个环境。
  • 编写一个查询脚本,查询https://api.twitter.com/1.1/tweets/search/fullarchive/<env name>.json,其中<env name>为您的环境名称。将查询设置为to:your_twitter_usernamefromDate为您创建账户的日期,toDate为今天的日期。
  • 对结果进行迭代处理。

这样做将不会递归地获取您的回复。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接