【问题标题】:detecting photo upload using facebook realtime updates使用 facebook 实时更新检测照片上传
【发布时间】:2013-07-25 21:22:27
【问题描述】:

我想知道当用户上传新照片时,我需要订阅哪些对象和连接才能接收通知(Facebook 实时更新功能),无论是在他的相册中、作为状态更新还是在群组中。

这与用户个人资料图片无关,而是用户在 Facebook 上分享的任何照片。

【问题讨论】:

    标签: facebook facebook-graph-api real-time photo subscriptions


    【解决方案1】:

    Facebook 在实时更新描述中说以下内容(https://developers.facebook.com/docs/reference/api/realtime/ - 在“更新类型”下方):

    请注意,您不能订阅用户对象的所有属性和连接的更改。您可以订阅的连接包括:动态、朋友、活动、兴趣、音乐、书籍、电影、电视、喜欢、签到、位置、事件。

    我唯一能想到的就是您订阅了 feed 连接并进行一些后期处理以查明帖子是否与照片相关:

    GET https://graph.facebook.com/{USER_ID}/feed?fields=id,link,type,link&since={YOUR_TIMESTAMP}&access_token={ACCESS_TOKEN}
    

    您可以从来自 Facebook 实时更新的 POST 中获取 USER_ID,YOUR_TIMESTAMP 可以是收到 POST 的系统时间减去 30 秒,而 ACCESS_TOKEN 需要来自您在用户授予权限后存储它的位置到您的应用。

    然后您可以使用 "type": "photo" 为所有数组条目解析生成的 JSON,您将收到引用照片的帖子。

    然后,您可以创建一个逗号分隔的 post_id 列表,并将其与 FQL 查询结合使用,以获取有关附加照片的更多详细信息:

    GET https://graph.facebook.com/fql?q=select+post_id,+attachment,+created_time+from+stream+where+source_id+=+{USER_ID}+and+type+=+247+and+post_id+in+({POST_ID_LIST})&access_token={ACCESS_TOKEN}
    

    在生成的 JSON 中,您可以找到照片的 AID 和 PID,您可以使用它们来获取有关照片的更多信息。或者您使用 images.src

    中的 URL

    您可以通过以下方式通过 FQL 获取所有照片帖子,但这与实时更新无关:

    select post_id, attachment, created_time from stream where source_id = me() and type = 247 limit 100
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多