【问题标题】:Add Share button next to Like and Comment on Facebook Post在 Facebook 帖子上点赞和评论旁边添加分享按钮
【发布时间】:2012-05-11 20:18:43
【问题描述】:

我正在使用 Facebook 的 Feed 对话框: http://developers.facebook.com/docs/reference/dialogs/feed/

每当我使用它发布内容时,Facebook 都会在底部添加 2 个链接(点赞和评论):

但是,当我在时间轴中看到其他帖子时,我也会看到一个“分享”链接:

如何指示 Facebook 也通过提要对话框添加此“分享”链接?

【问题讨论】:

  • 看起来你不能分享你的帖子)。因为你已经“分享”了它。尝试从其他帐户检查。
  • 嗨,RredCat,不是这样。我已经对此进行了多次测试,但“分享”链接从未出现在我面前。因此,我收到了来自我的应用用户的错误报告。
  • 我已经更新了我的答案。检查一次,是否有用。

标签: facebook facebook-graph-api share


【解决方案1】:

具有共享选项的帖子是本地帖子,而不是应用程序帖子。您的帖子有“via Careers, Jobs and Recruitment App”,这意味着它是一个申请帖子。要获得原生“分享”选项,您必须使用原生帖子,其中涉及使用 sharer.php(请参阅底部附近的“创建自己的分享 URL”)。

【讨论】:

  • 谢谢吉米。我害怕这个,但我认为你是对的。不幸的是,Sharer 已被弃用。 Facebook 添加一个原生的“分享”按钮就像他们对原生帖子所做的那样是微不足道的。我不确定他们为什么不这样做。
  • @JohnnyO 分享 按钮 已被弃用,但您仍然可以向sharer.php(通过window.open)触发一个弹出窗口来触发原生分享。网络上的数百个网站都在使用它,所以我认为它不会很快被弃用,但如果是这样,至少你和其他人在同一条船上。 :)
  • 谢谢。使用 Sharer 对我来说仍然是个问题,因为我在服务器端发帖,以便用户能够立即发帖到 Facebook/Twitter/LinkedIn。我能想到的最佳选择是使用带有 action 参数的提要对话框(如 Venu Gopal T 所述)并将链接设置为共享器。不幸的是,一旦发布到时间轴上,我的“分享”hack 按钮就不能像原生按钮那样好用了。
【解决方案2】:

您不能拥有来自应用程序的提要帖子的共享链接,但您可以拥有链接帖子,如第二个示例中所述。或者,您也可以将操作链接添加到这样的帖子消息中。

FB.ui(
   {
     method: 'feed',
     name: 'Facebook Dialogs',
     link: 'http://venu.com/',
     picture: 'http://venu.com/f8.jpg',
     caption: 'Venu site',
     description: 'asdasdasdasd.',
     message: 'asdasdasd!',
    actions: [
        { name: 'share', link: 'link here' }
      ]

   },
   function(response) {
     if (response && response.post_id) {
       alert('Post was published.');
     } else {
       alert('Post was not published.');
     }
   }
 );

链接将指向您网站/应用中的自定义页面。由于用户正在尝试共享其他人发布的消息,因此您应该在服务器中拥有该消息。您可以在自定义 URl 中传递消息的 id。

希望对你有帮助:)

[编辑]

您可以添加一个带有分享按钮的链接,您必须使用“我/链接”而不是“我/提要”。不幸的是,这不是一个完整的替代方法,因为 Facebook 在使用此方法时会忽略描述、标题和图片参数。这是此处发布的错误。(https://developers.facebook.com/bugs/194522957295380)

$attachment = array(
    'access_token'=>TOKEN_HERE,
    'message'=>'message_here',
    'link' => 'http://www.example.com/',
);

$result = $facebook->api(
    'me/links',
    'post',
    $attachment
);

所以,现在这类似于在您的网站中设置一个“赞”按钮。 Facebook 从给定链接中的开放图元标记中提取信息。

<head>
    <meta property="og:locale" content="en_US" />
    <meta property="og:site_name" content="name for ENTIRE SITE"/>
    <meta property="og:title" content="name of PAGE"/>
    <meta property="og:type" content="website"/>
    <meta property="og:image" content="<URL HERE>"/>
    <meta property="og:description" content="my description" />
    <title>Untitled</title>
</head>

【讨论】:

  • 感谢您提供信息丰富的回复。 'actions' 参数是我探索的一个参数,但我能想到的最好的方法是将名称设置为 'Share' 并链接到共享者(例如facebook.com/sharer.php?u={url})。不幸的是:1)这个链接将用户重定向到共享者页面,它不如原生弹出窗口好。 2) 对于 Facebook 页面时间轴上的帖子,“操作”链接不与评论/点赞内联,因此很难找到。我会试试你的 me/links 选项,但对于我的情况来说,这些限制很可能是个问题。
  • 不客气。如果您要使用我/链接,facebook 将从链接中提取信息(openrgaph 元标记)。我建议你看看这个developers.facebook.com/docs/opengraphprotocol 有了这个,你可以摆脱我在帖子中提到的错误。
【解决方案3】:

使用 Like Button 社交插件与使用 Sharer.php 方法几乎相同,并且是当前支持的 Share 按钮替代品。

如果您有一个网页,当用户点击“Like”按钮时,他们会发布一个链接到他们的墙上,其中会有一个“Share”链接。

您可以在画布应用中执行类似的操作,但这不适用于需要动态文本的 Feed 帖子,例如用户名或他们在应用中的操作的某些值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 2012-04-30
    • 2013-11-26
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多