我想设置一个coldfusion页面,它将从我自己的facebook帐户和Twitter帐户中提取状态更新,并将它们与时间戳一起放在SQL数据库中。每当我运行此页面时,它应该仅在数据库中已有的最新时间戳之后获取信息。
我希望这不会太糟糕,因为我感兴趣的只是状态更新和时间戳。最终我想拉其他东西,如图像等,但对于第一次测试,状态更新是好的。有没有人有可以帮助我完成这项工作的示例代码和/或指针?
如果有必要的话,如果有任何信息与apis的当前版本(带有oAuth和facebook开放图的推特)相关,我会喜欢它。我见过的一些解决方案涉及创建一个Twitter应用程序和facebook应用程序来与API交互;如果我想要做的只是访问我自己的帐户信息的子集,那是必要的吗?提前谢谢!
答案 0 :(得分:1)
我会从数据库中读取max(insertDate)
,如果API允许,则仅从该日期开始请求更新。然后插入这些更新。下次你运行时,你需要在调用下一堆之前获得最后一堆更新的max()
。
您可以使用ColdFusion计划任务每5分钟运行一次。
您与API的沟通方式通常是使用<cfhttp />
。我经常做的一件事是在文本文件或数据库中记录每个请求和响应。这在故障排除时非常有用。
希望有所帮助。
答案 1 :(得分: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" />
答案 2 :(得分:0)
与您的建议不同,但它对我们有用。我们有两个直播活动,我们要求人们发布到定制的Facebook粉丝页面,或者通过我们实时认可的主题标签发布到Twitter。然后我们刚刚获取并解析了FB页面的RSS源和Twitter搜索结果,在短时间内提取了新的内容......我认为大约每三分钟一次。 CFFEED有点容易出错,只是做了一个CFHTTP获取RSS提要,然后处理CFHTTP.filecontent结构项,因为XML工作正常
.LAG