如何获取Facebook共享URL的帖子ID,或如何通过Facebook应用程序获取所有帖子?

时间:2016-10-17 16:43:45

标签: facebook facebook-graph-api

目标

我的目标是让用户将他在我网站上创建的内容分享给Facebook,并让我使用Facebook评论插件在我自己的页面上显示所有评论。

所以我理想的流程是:

  1. 用户创建包含示例ID vjrjf834fdkfj的内容,并使用公开网址http://example.com/vjrjf834fdkfj/进行分享。
  2. 用户通过我的Facebook应用ID在Facebook上分享此网址。帖子ID是1234567。
  3. 我收到了这个帖子ID。 (这是我需要帮助的)
  4. 我将其存储在我的数据库中。
  5. 每当访问者访问页面http://example.com/vjrjf834fdkfj/时,我会在数据库中查找帖子ID(本例中为1234567),并使用此帖子ID调用Facebook评论插件。
  6. 我尝试了什么

    尝试#1

    首次尝试失败:请阅读post_id回调的FB.ui字段,但此回复通常为空,因为Facebook says that

      

    仅在用户使用Facebook登录您的应用时才可用   已授予publish_actions。如果存在,这是该ID   发布了Open Graph故事。

    我的用户并不总是通过Facebook登录我的应用程序,因为他也可以创建一个普通帐户。

    尝试#2

    所以我的下一次尝试是通过调用Graph API获取此应用的所有帖子的列表。我有一个“基本”应用程序,“网站”平台设置为我的网站URL(www.example.com)。鉴于此列表,我可以在相关的URL上过滤此信息,然后获取正确URL的帖子ID。

    我可以创建一个访问令牌并调用https://graph.facebook.com/v2.8/{app-id}/objects?access_token={token},但这会产生错误The parameter type is required。当我尝试通过调用/object_types端点获取对象类型列表时,我得到一个空列表。

    尝试#3

    我还创建了一个页面选项卡,但文档对我如何应用于我的案例毫无意义。我结束了两个额外的页面,都是空的,而不是我想要的。但是,我可以在我的Facebook页面上添加一个额外的页面,显示已经共享的所有帖子的列表(因此这些帖子将显示在此处和我的用户的时间轴上)。

    问题

    所以:

    • 为什么此object_types列表为空?我希望这里会显示“post”之类的内容,这样我就可以获得与此应用ID相关联的所有帖子的列表。
    • 如果无法做到这一点,我怎样才能达到最终目标?

    感谢。

0 个答案:

没有答案