12

我似乎无法为此找到答案。可能我的 Google-fu 让我失望了。

有没有办法使用 FB 的 Graph API(或任何其他方式),以便在经过身份验证的用户的墙上“分享”页面的帖子,以便增加“分享号”,如附图所示?

页面帖子旁边的共享计数器

4

3 回答 3

13

好的,我的回答在“否”和“也许”之间变化,具体取决于您希望如何实现这一点。

您是否希望它成为一种完全依赖于代码的程序化、自动共享机制,不需要用户主动共享?

如果是这样,答案是否定的。实际上它也可能违反平台政策,但这是不可能的。

您是否介意它是基于对话的共享,对于不同类型的主页帖子具有不一致的行为?

如果是这样,你很幸运。有些。有一个现已弃用的函数,称为“sharer.php”,它曾经用于共享按钮,当时 Facebook 仍然支持它。尽管这已被弃用,但它不太可能被删除,但不幸的是,这确实意味着周围没有文档。幸运的是,它真的很简单:

http://www.facebook.com/sharer.php?u=https://www.facebook.com/coca-cola/posts/10152033676358306

以上是在可口可乐 Facebook 页面上分享帖子的示例。当然,您可能希望对u参数进行 URL 编码。你可以把它作为一个普通的链接,或者你可以用 Javascript 将它附加到一个按钮的 onclick 上。但是,这里有一些警告:

  • 这似乎仅适用于本身不是“分享”帖子的帖子,例如您发布屏幕截图的帖子。
  • 我没有它可以使用的类型的完整列表但是状态更新可以完美地工作。

如果你还是想走这条路,我的建议是:

  • 使用 Graph API Page 对象,拉入 /posts 连接
  • 过滤到所有属于type: status
  • 要构造指向此的链接以与 sharer.php 一起使用,请将类型的每个 Post ID 解析12345678_987654321https://www.facebook.com/12345678/posts/987654321或从每个 Post 获取 /actions/link 字段(将有一个用于 Comment 和一个用于 Like,但它们都是相同)
  • URLEncode 和上面的 sharer.php 一起使用
  • 对于属于 的页面帖子,请type: link抓住该link字段并将其与上面的 sharer.php 一起使用。这不会根据需要增加共享计数,但它会正确地重新共享链接。

希望其中一些对您有所帮助,最终最适合您的答案可能是“不”。

于 2012-11-06T11:36:29.863 回答
3

是的,您可以使用 graph2 api 进行共享。您这样做的方式是使用/feed边缘并将您要共享的帖子的网址作为链接传递。

POST /v2.2/{page-id}/feed HTTP/1.1
Host: graph.facebook.com

link=https://www.facebook.com/{page_id}/posts/{post_id}

您共享的帖子的权限确实适用。

https://developers.facebook.com/docs/graph-api/reference/v2.2/page/feed

于 2017-01-25T00:57:31.423 回答
-1

你在使用新的 JS SDK 吗?如果是这样,请参考这个帖子

“使用新的 JS SDK,您可以使用按钮,它将被渲染和使用,但支持的类型较少,如果使用它,您将丢失共享计数。”

参考:Facebook 分享按钮是否适用于新的 Javascript SDK?

于 2013-04-19T11:42:51.663 回答