Facebook API:“分享”已发布在页面墙上的帖子?

时间:2012-10-31 01:06:59

标签: facebook facebook-graph-api

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

有没有办法使用FB的Graph API(或任何其他方式),以便在经过身份验证的用户的墙上“共享”一个页面的帖子,以便它会增加所附照片中显示的“共享号码”?

share counter next to page's post

3 个答案:

答案 0 :(得分:12)

好的,我的回答在“不”和“可能”之间变化,具体取决于你想要完成的目的。

您是否希望它成为完全依赖于代码的编程式自动共享机制,而不需要用户主动共享它?

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

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

如果是这样,你很幸运。有些。有一个名为“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一起使用的链接,要么将12345678_987654321类型的每个帖子ID解析为https://www.facebook.com/12345678/posts/987654321,要从每个帖子中获取/ actions / link字段(将会有一个用于评论,一个用于赞,但它们都是相同的)
  • URLEncode this并将其与sharer.php一起使用,如上所述
  • 对于type: link的网页帖子,请抓取link字段,然后将其与sharer.php一起使用,如上所述。这不会根据需要增加共享计数,但会正确地重新共享链接。

希望其中一些可以帮到你,最终你的答案最好也许是'不'。

答案 1 :(得分: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

答案 2 :(得分:-1)

您使用的是新的JS SDK吗?如果是这样,请参阅这篇文章

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

参考:Does the Facebook Share Button work with the New Javascript SDK?