2009-10-30 100 views
1

免责声明:我没有Twitter的API 经验,我也没有使用过TWITTER 直到今天分享Tweet大赛逻辑(微博)

我一直在考虑建立一个“啁啾大赛”的任务 - 如果任何人都有Twitter API的经验和/或过去曾经这样做,我希望你可能有任何有用的提示。

因此,基本规则是,为了让用户参加比赛,所述用户必须遵循比赛的推特并且必须转发特定的消息,诸如'刚刚参加了比赛http://foo.com/contest'。

问题:

  1. 为了让参赛者,我也解析了比赛的RSS源,http://twitter.com/statuses/user_timeline/21586418.rss似乎只列出过去的几年职位,我可能会与Twitter的API的交互为了获得所有消息。有人可以推荐文档或覆盖此页面的页面吗?

  2. 我不完全确定我是否应该将实际用户存储在本地xml文件中或依靠查询Twitter API,如果我存储它们,我将拥有缓存本地用户副本...数据库会太过分了,如果我将它们存储起来,在xml文件中会更好,对吧?

  3. 与#1相关,我是否应该实际解析用户必须发送的确切消息,例如“刚刚进入比赛”,确切的字符串,当我解析所有推文的数据馈送?或者是否有某种标签系统可以使用?

  4. 与#1相关,我将不得不确定用户是否是追随者,所以我不能确定通过解析条目/ tweet,我将不得不查询用户的id并从中获取统计信息他/她跟随的人是谁?

+0

看来你已经回答了你所有的问题。哦,和apiwiki.twitter.com - 第一次在谷歌上。你有没有做过任何调查? – 2009-10-30 05:48:06

+2

@Kirk为什么花30分钟时间花30分钟研究自己,当你可以花2分钟在这里问问,23分钟吃三明治,5分钟阅读已经完成它的人合并了许多工时值得的经验? – 2009-10-30 05:54:16

回答

3

你可以搜索URL,但最好的办法是使用#标签

just entered #supercoolcontest for http://foo.com/contest 

您可以搜索包含所需要的较量URL或什么的#supercoolcontest发生率您可能需要的其他关键字。这将确保用户在转推时不必精确到文本,还可以让人们以可跟踪的一般方式讨论比赛。

您可以通过使用search API把所有的鸣叫与哈希标签:

http://search.twitter.com/search.json?q=%23supercoolcontest 

这可能是最有效的方法,因为你一定仅在拉你感兴趣的微博,而不是n来自n个用户的推文,只有一小部分与你有任何关系。

每当您抓取API供稿时(每n分钟),插入新的唯一用户。我会使用一个数据库 - 不费力气或费时地用一两张表来站起来。稍后更容易查询。

要回答您的上一个问题,您需要进行单独的API调用以确定给定用户是否跟随其他用户。

2

我知道这是一个老问题,可能与meder无关,但我想评论说,现在有另一种方法来解决这个问题,使用Twitter的流媒体API http://dev.twitter.com/pages/streaming_api这种方法的优点是,你告诉Twitter发送所有的鸣叫,当它们被生成时,它们完成一些条件。

使用搜索API,您需要随时轮询twitter以获取新的推文,并且有更大的可能会在搜索结果中丢失一些推文;与流媒体API同时,您保持与Twitter的开放连接,并在推文发送时处理推文,Twitter不保证能够获得符合条件的所有推文,但从我的经验来看,风险要低得多。