如何使用Twitter API获取新关注者列表

12

我需要定期返回某个Twitter账户的关注者列表(即自上次检索关注者列表以来),但Twitter API似乎只提供获取该账户当前所有关注者的功能。

除了每次获取完整列表并将其与存储的上次检索时间进行比较外,是否还有其他方法可以获取到新的关注者呢?

像divvoted.com、mrtweet等网站肯定以某种方式做到了这一点!我是不是漏掉了什么,还是只需要采用上述复杂的方法?


有人找到了解决方法吗?我非常需要这个。 - Anjayluh
4个回答

16

是的,您需要保留自上次更新以来的关注者列表,因为Twitter没有将API客户端与状态相关联。 “上次检索列表的时间”这个定义缺乏“由谁”。


3
谢谢 Jan,我想我需要的是一个“获取自指定时间以来新的关注者”和一个“获取自指定时间以来取消关注的用户”的功能,这样我就不需要查看整个列表了。这样就不需要涉及任何客户端/状态问题。 - Mark Perkins

2
您可以尝试通过以下信息“...正在关注您的Twitter账号”来获取Twitter邮件。这种方法可能比使用Twitter API更加困难,并且有可能会错过某些邮件(如果邮件未被投递),但它可以节省一些宝贵的API调用。但是,这并不包括取消关注...
如果您按照自己描述的方式进行操作,则Twitter API将按照“最新关注者先”的顺序返回关注者,因此在第一个命中时(在您存储的列表版本中列出的关注者),您可以停止查找新的关注者。

0

对于授权用户,您可以使用Twitter Stream API来跟踪新的关注者: https://dev.twitter.com/streaming/overview/messages-types#Events_event

我使用C#库https://github.com/linvi/tweetinvi进行操作,代码非常简单:

Auth.SetUserCredentials("CONSUMER_KEY", "CONSUMER_SECRET", "ACCESS_TOKEN", "ACCESS_TOKEN_SECRET");
var stream = Stream.CreateUserStream();
stream.FollowedByUser += (sender, args) =>
{
    Console.WriteLine("You have been followed by " + args.User);
};
stream.StartStream();

0

我最近开始使用Zapier

他们有一个 Zap,使用 Twitter API 获取新的关注者(你或任何你想要监控的用户名)。 这个 Zap 监视新的关注者,然后可以添加记录到 Google Sheets、Trello、Slack 等等。

它不会告诉你谁取消关注了,但你可以将你的关注列表与完整列表进行比较。

它还会在跟随时触发 - 所以有人可能跟随、取消关注,然后再次跟随,出现在列表中两次。如果你有你的跟随者列表,管理起来很容易。

这里是他们的文档: https://zapier.com/zapbook/zaps/201/log-new-twitter-followers-google-spreadsheet/


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