2010-08-16 51 views
1

我想要设置一个coldfusion页面,它将从我自己的Facebook帐户和Twitter帐户中提取状态更新,并将它们与它们一起放入SQL数据库时间戳。每当我运行这个页面时,它应该只抓取它已经存在于数据库中的最新时间戳之后的信息。通过Coldfusion将Facebook和Twitter状态更新拉到SQL数据库页面

我希望这不会太坏,因为我感兴趣的只是状态更新和时间戳。最终,我想拉图像等其他东西,但对于第一次测试只是状态更新是好的。有没有人有示例代码和/或指针,可以帮助我在这个努力?

如果有必要的话,如果有任何信息与当前版本的apis(twitter with oAuth和facebook open graph)相关,我想要它。我见过的一些解决方案涉及创建一个twitter应用程序和facebook应用程序来与API交互;如果我只想访问我自己的帐户信息的一部分,那么这是否有必要?提前致谢!

回答

1

我会从数据库中读取max(insertDate),并且如果API允许您,则只会在该日期之后请求更新。然后插入这些更新。下一次运行时,你只需要获得最后一堆更新的max(),然后再调用下一组。

您可以使用ColdFusion计划任务每​​5分钟运行一次。

您如何与API通信通常使用<cfhttp />。我经常做的一件事是记录每个请求和响应,无论是在文本文件中,还是在数据库中。这在解决问题时非常重要。

希望有所帮助。

+0

理念明智它确实有助于明确;尽管如此,我仍然在实施方面有点失落。当你说你可以使用cfhttp与API通信时,这是否意味着我不必通过创建和注册Twitter应用程序和Facebook应用程序来使用API​​进行额外步骤?你能指点我的任何示例代码吗?谢谢! – KeithComito 2010-08-16 17:59:19

1

使用cffeed标签从Twitter和Facebook中提取RSS提要。将最后一次馈送扫描的日期保留在某处(应用程序变量或数据库)并循环显示馈送条目。比上次扫描更旧的任何条目都会被忽略,其他所有内容都会被提交确保在try/catch中包含cffeed,因为如果服务关闭,它会抛出错误(ahem,twitter)正如其他答案中所述,将其设置为计划任务。

<cffeed action="read" properties="feedMetadata" query="feedQuery" 
     source="http://search.twitter.com/search.atom?q=+from:mytwitteraccount" /> 
+0

有趣,所以你可以用饲料做到。我有几个关于这个问题:1.多久以前你能得到这个2.对于twitter(因为只有状态更新)这似乎工作得很好,但与Facebook我可能需要更多的信息比只是一个RSS提要(以后)将图像和内容复制到我的系统中......或者是指向用户上传图像的链接,以及可以从提要中以某种方式访问​​的链接?我基本上想做的是为我自己的社交网络创建一个自定义聚合器,并且能够查看我所有的推特帖子,脸谱,上传的YouTube视频等。 – KeithComito 2010-08-16 18:08:49

+0

http://apiwiki.twitter.com/Twitter-Search-API-Method:-search Twitter RSS源支持一个“since”变量,用于定义您的查询后退多远。我假设Facebook API具有类似的功能。 – lazyconfabulator 2010-08-16 18:17:00

+0

好的;这很有用。关于第二点的任何想法?我会做一些挖掘facebook的RSS。再次感谢。 – KeithComito 2010-08-16 18:54:09

0

不同于您所建议的方法,但它对我们有效。我们有两个现场活动,我们要求人们张贴到定制的Facebook粉丝页面,或者向Twitter发送我们实时批准的活动标签。然后,我们只是提取并解析了FB页面的RSS提要,以及Twitter搜索结果,在短时间间隔内提取了新内容......我认为这大约每三分钟一次。 CFFEED有点容易出错,而且靠不住的,只是做了RSS的CFHTTP GET饲料,然后处理CFHTTP.filecontent结构项目作为XML工作的罚款

.LAG