【问题标题】:Facebook Fan Page vs. Twitter Streaming APIFacebook 粉丝页面与 Twitter 流 API
【发布时间】:2011-08-14 18:19:29
【问题描述】:

Facebook Fan Page 的 Twitter Streaming API 对应的是什么?

如何从 Facebook 粉丝专页获取实时更新?

【问题讨论】:

    标签: facebook twitter facebook-page twitter-streaming-api


    【解决方案1】:

    您必须使用来自 facebook 的实时 api:http://developers.facebook.com/docs/api/realtime/

    要按照您的要求进行操作,您必须订阅page 对象及其feed 连接。

    要添加订阅,您必须发送 POST 请求到:

    https://graph.facebook.com/<app-id>/subscriptions?access_token=...
    

    为此,您需要一个可以在以下位置获得的访问令牌:

    https://graph.facebook.com/oauth/access_token?client_id=<app-id>&client_secret=<app-secret>&grant_type=client_credentials
    

    必须在 POST 数据中的字段是:

    • object - 要监控的对象的类型,例如“用户”或“权限”。您将监视该类型的所有对象;例如,您的应用程序的所有用户。
    • fields - 逗号分隔的列表。这是指定对象的属性或连接列表。例如,要监控用户姓名、图片、朋友和动态消息的变化,您可以指定“name,picture,friends,feed”
    • callback_url - Facebook 将发布订阅更新的回调 URL。

    你可以指定

    • verify_token - 订阅者提供的不透明令牌,将在验证请求中回显,以帮助订阅者识别正在验证的订阅请求。如果不包含,则验证请求中不会包含任何令牌。这来自 PubSubHubbub 规范。

    一旦您的回调 url 得到验证,当您的回调 url 上的页面提要中的数据更改为 json 对象时,您将收到更新,这是用户的示例:

    {
    "object": "user",
    "entry": 
    [
        {
            "uid": 1335845740,
            "changed_fields": 
            [
                "name",
                "picture"
            ],
           "time": 232323
        },
        {
            "uid": 1234,
            "changed_fields": 
            [
                "friends"
            ],
           "time": 232325
        }
    ]
    }
    

    您还可以在同一个 URL 上执行 GET 和 DELETE 以获取您的订阅列表,并删除订阅。

    但所有细节都在 facebook doc

    【讨论】:

    • 然而,一个小的区别是,与 Twitter 流 api 不同,Facebook 实时更新不会将实际更改作为提要提供。它只是表明该对象有更新。然后必须明确地拉出对象并找出变化。
    • 在 Ruby 中是否有任何示例代码可用?我搜索了一下,但似乎没有多少人使用实时图形 API……这有点奇怪。
    • 理论上这现在可以在页面上获取墙更新,但我无法让它工作。
    猜你喜欢
    • 1970-01-01
    • 2014-08-08
    • 2011-04-03
    • 2011-04-05
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    相关资源
    最近更新 更多