保持Facebook帖子从网站到Facebook的连续性

时间:2012-12-27 21:11:38

标签: facebook facebook-graph-api post facebook-like

我正在构建一个社交应用程序,用户将数据发布到网站上,并保存在我们的数据库中。

这会在网站上创建一个可搜索的记录,并创建网站的基本内容和功能(此时目的不相关)

当记录保存到我们的数据库时,我想“传播”并将这些数据发送到社交网络。目前,我正在孤立地看待Facebook。

所以,我知道如何通过Graph API创建帖子并将此内容发布给用户时间轴,或者发布到与APP /网站相关联的商业页面。但我不确定如何,或者确实是应该,保持连续性。

我的意思是......如果用户在我的网站上创建了一条记录,然后网站/应用程序在我的商家页面上创建了一个帖子,并且还要求用户将其发布在他们的时间轴中,我该如何阻止它是两个单独的帖子,而是一个已经分享的帖子?

我想实现:

User posts on website
    >
Website posts to Page
    >
Post on Page is "Shared" to users Timeline

相反:

User posts on website
    >
Website posts to Page
    >
Website posts an additional post to users Timeline

我想这样做的原因是,在网站上,我希望能够通过跟踪首次进入我网站时创建的初始帖子的ID来显示Facebook的分享,喜欢和评论。

或者我是否正在尝试重新发明轮子而应该使用Facebook的评论插件?

1 个答案:

答案 0 :(得分:0)

在页面上的Facebook上创建帖子时,将返回的post ID存储在数据模型中。

据我所知,无法直接通过API访问普通用户share。如果您坚持以编程方式执行此操作而不为用户弹出任何对话框,则可以在用户页面上发布帖子,该页面具有(页面开头)页面帖子和链接到页面帖子作为附件。这可能是为了防止滥用。

但是,如果您不介意依赖未记录且已弃用的端点,则可以使用旧的sharer.php端点,只要您拥有要共享的帖子的完全限定链接(您可以检索通过api url)。这还需要您的用户在其共享中输入适当的内容,然后单击“分享”。

端点是 http://www.facebook.com/sharer.php

使用填充了网址的u参数调用它,所以

http://www.facebook.com/sharer.php?u=[URL encoded URL of the post you wanted to call]

你可以尝试任何facebook帖子(去帖子,复制网址,过去作为参数),它仍在工作(我只是尝试过),但没有保证。请参阅Facebook API: "Share" a post already posted on a page's wall?的最佳答案。


您仍然可以通过Graph API访问该帖子ID的相应内容,评论等(并且您可以为您的用户提供指向帖子的直接链接)。按照建议缓存/更新它们并在您自己的页面上显示它们。您基本上正在镜像回到您自己的网站上的Facebook上发生的事情。

如果您计划分支到其他服务,我会选择这条路线。这样,您就可以从平台重新发布的多个服务中进行统计/喜欢/等的汇总显示。这对于用户的数据完整性(至少是一种印象)也是有益的:他们知道您的服务代表了他们在Facebook / etc帐户发生任何事情时所做的一切。

如果他们担心facebook / etc删除他们的任何帖子,或者因为facebook / etc没有正确存储帖子/评论/等的任何问题(例如,评论有一个),这尤其值得注意最大长度,至少通过主FB UI,以无法恢复的方式静默删除任何超出最大长度的内容。)