【问题标题】:Pulling facebook and twitter status updates into a SQL database via Coldfusion Page通过 Coldfusion Page 将 facebook 和 twitter 状态更新拉入 SQL 数据库
【发布时间】:2010-08-16 17:39:45
【问题描述】:

我想建立一个 Coldfusion 页面,该页面将从我自己的 facebook 帐户和 twitter 帐户中提取状态更新,并将它们连同它们的时间戳一起放入 SQL 数据库中。每当我运行此页面时,它应该只在数据库中已有的最新时间戳之后获取信息。

我希望这不会太糟糕,因为我感兴趣的只是状态更新及其时间戳。最终,我想提取图像等其他内容,但对于第一次测试,只需状态更新即可。有没有人有示例代码和/或指针可以帮助我完成这项工作?

如果有必要的话,如果有任何信息与 API 的当前版本(带有 oAuth 和 facebook 开放图的 Twitter)相关,我会很高兴。我见过的一些解决方案包括创建 twitter 应用程序和 facebook 应用程序来与 API 交互;如果我只想访问我自己的帐户信息的子集,那有必要吗?提前致谢!

【问题讨论】:

    标签: sql-server facebook coldfusion twitter


    【解决方案1】:

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

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

    您与 API 的通信方式通常使用<cfhttp />。我经常做的一件事是将每个请求和响应记录在文本文件或数据库中。在进行故障排除时,这可能是非常宝贵的。

    希望对您有所帮助。

    【讨论】:

    • 明智的做法确实有帮助;不过,我仍然对实施有点迷茫。当你说你可以通过cfhttp与API进行通信时;这是否意味着我不必通过创建和注册 twitter 应用程序和 facebook 应用程序的额外步骤来使用 API?你能指出我的任何示例代码吗?谢谢!
    【解决方案2】:

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

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

    【讨论】:

    • 很有趣,所以你可以用提要来做。我对此有几个问题: 1. 你能回到多远 2. 对于 twitter(因为只有状态更新),这似乎很好,但对于 facebook,我可能需要更多信息而不是只是一个 RSS 提要(稍后)将图像和内容复制到我的系统......或者是指向用户上传的图像的链接,并且也可以从提要中以某种方式访问​​?我基本上想做的是为我自己的社交网络内容创建一个自定义聚合器,并且能够查看我所有的 Twitter 帖子、Facebook 内容、上传的 youtube 视频等。
    • apiwiki.twitter.com/Twitter-Search-API-Method:-search Twitter RSS 提要支持一个“since”变量,该变量定义了查询的回溯距离。我假设 facebook API 具有类似的功能。
    • 好的;这很有用。关于第二点的任何想法?我也会对 facebook RSS 做一些研究。再次感谢。
    【解决方案3】:

    与您建议的方法不同,但它对我们有用。我们有两个现场活动,我们要求人们在定制的 Facebook 粉丝页面上发布,或者在 Twitter 上发布我们为该活动实时认可的主题标签。然后我们只是在很短的时间间隔内获取并解析 FB 页面的 RSS 提要和 Twitter 搜索结果,提取新内容……我认为大约每三分钟一次。 CFFEED 有点容易出错和不稳定,只需对 RSS 提要进行 CFHTTP 获取,然后将 CFHTTP.filecontent 结构项作为 XML 处理就可以了

    .滞后

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-04
      • 2011-12-04
      • 2014-08-27
      • 2010-11-03
      • 2011-08-07
      • 1970-01-01
      • 2016-02-13
      相关资源
      最近更新 更多