1

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

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

当记录保存到我们的数据库时,我想“传播”并将这些数据发送到社交网络。目前,我正在孤立地看待 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 的评论插件?

4

1 回答 1

0

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

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

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

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

u用url填写的参数调用它,所以

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

您可以在任何 facebook 帖子中尝试此操作(转到帖子,复制 url,作为参数过去),它仍然有效(我刚刚尝试过),但不能保证。查看 Facebook API 的最佳答案:“分享”已发布在页面墙上的帖子?.


您仍然可以通过 访问该帖子 ID 的喜欢、评论等Graph API(并且您可以为您的用户提供帖子的直接链接)。根据建议缓存/更新它们并将它们显示在您自己的页面上。您基本上是在将您发布的帖子在 facebook 上发生的事情反映到您自己的网站上。

我会走这条路,特别是如果您计划扩展到其他服务。这样,您可以从您的平台转发到的多个服务中汇总显示统计信息/喜欢/等。这对用户的数据完整性(至少印象)也有好处:他们知道您的服务代表了他们所做的一切,以防他们的 facebook/etc 帐户发生任何事情。

如果他们担心 facebook/etc 删除他们的任何帖子,或者从 facebook/etc 未正确存储帖子/评论/等的任何问题中恢复,这可能尤其值得注意(例如,评论的最大长度,至少通过主 FB UI,以用户不可恢复的方式静默丢弃超过最大长度的任何内容)。

于 2012-12-27T21:45:05.397 回答