在电子邮件通知中,我们可以看到类似
的内容<username> followed you using <appname>.
很棒。但有没有可能的方法来使用API了解应用程序名称?
答案 0 :(得分:2)
我看了一下REST API,但是找不到任何支持它的东西。我的猜测是,这是一个可在API中使用的twitter.com功能。
我看到的最合乎逻辑的地方是 statuses / followers 和 friendships / show 。在这两种情况下都没有确定性。检查我的帐户的关注者电子邮件,我发现多个使用应用程序的关注者(如PeopleBrowr和SocialOomph)来关注该帐户。在大多数案例中,最新status
对象上的来源与用于关注我的应用名称相匹配,但这绝对不是一件肯定的事。
所以,直接回答你的问题,不,我不认为可以通过API完成(除非有一个没有文档的方法可以做到这一点。)
但是,我可以想办法获得这些信息。一种方法是设置接收以下通知的电子邮件帐户,以将副本转发到由自动过程检查的邮箱。当电子邮件显示时,解析它们以找到用于关注您的应用程序名称。我使用以下正则表达式(在C#中)在电子邮件正文中查找应用程序的名称和URI:
Match m = Regex.Match(input, @"followed you using\s*<a[^""]+""(?<appUri>[^""]+)""[^>]+>(?<appName>\w*)</a>");
我使用m.Groups["appName"].Value
提取应用程序名称,并使用m.Groups["appUri"].Value
从匹配中提取URI。
为了将应用信息绑定到用户,我还必须找到屏幕名称:
Match m = Regex.Match(user, @"\(@<a[^>]+>(?<screenName>\w*)</a>\) is now following");
我使用m.Groups["screenName"].Value
从匹配中提取值。