我需要定期返回某个Twitter账户的新关注者列表(即自上次检索关注者列表以来),但Twitter API似乎只提供获取该账户当前所有关注者的功能。
除了每次获取完整列表并将其与存储的上次检索时间进行比较外,是否还有其他方法可以获取到新的关注者呢?
像divvoted.com、mrtweet等网站肯定以某种方式做到了这一点!我是不是漏掉了什么,还是只需要采用上述复杂的方法?
是的,您需要保留自上次更新以来的关注者列表,因为Twitter没有将API客户端与状态相关联。 “上次检索列表的时间”这个定义缺乏“由谁”。
对于授权用户,您可以使用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();
我最近开始使用Zapier。
他们有一个 Zap,使用 Twitter API 获取新的关注者(你或任何你想要监控的用户名)。 这个 Zap 监视新的关注者,然后可以添加记录到 Google Sheets、Trello、Slack 等等。
它不会告诉你谁取消关注了,但你可以将你的关注列表与完整列表进行比较。
它还会在跟随时触发 - 所以有人可能跟随、取消关注,然后再次跟随,出现在列表中两次。如果你有你的跟随者列表,管理起来很容易。
这里是他们的文档: https://zapier.com/zapbook/zaps/201/log-new-twitter-followers-google-spreadsheet/