27

自 7 月 17 日起,旧的分享按钮在我管理的所有网站上停止工作。

我已经阅读了其他面临类似问题的用户的报告,但我找不到任何官方信息。

您知道是否有任何官方资源可用于此?

4

7 回答 7

25

更新: 截至 2020 年 5 月,Facebook 文档并未明确提及对 URL 的支持,但Share Button/sharer.php页面生成的片段仍引用该路径。


自从第一次被问到这个问题已经过去了一段时间,但 Facebook 文档中的一些新信息使我们有可能看到一些官方“证据”,证明sharer.php共享链接的方法仍然有效,仍然受到支持并且是活跃的。

参考是文档的这一页,还给出了一些示例:

这是共享对话框最简单的用法:

<a href="https://www.facebook.com/sharer/sharer.php?u=example.org" target="_blank">
  Share on Facebook
</a>

并且:

您可以在新窗口或弹出窗口中指向此 URL。如果您使用 JavaScript 弹出新窗口,您还可以将当前共享页面的 URL 引用为 location.href。这为您提供了可以在所有页面上使用的代码:

var sharer = "https://www.facebook.com/sharer/sharer.php?u=";
window.open(sharer + location.href, 'sharer', 'width=626,height=436');

总而言之,确实有一段时间的行为sharer.php是不可预测的。人们普遍认为该方法已被弃用并且使用它是不明智的。现在,这已被正式破坏,因为它sharer.php已添加到 Facebook 的文档中。

于 2013-05-08T15:45:48.193 回答
15

更新 #3(2016 年 6 月):

它又消失了:文档中没有更多对 sharer.php 的引用。尽管您可以选择使用共享对话框而不以任何形式与 facebook sdk 集成。一个重要的区别是所需的app_id参数。这是文档中的一个示例:

<a id="facebook" href="https://www.facebook.com/dialog/share?app_id=145634995501895&display=popup&href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2F&redirect_uri=https%3A%2F%2Fdevelopers.facebook.com%2Ftools%2Fexplorer" target="_blank">share me</a>

更新#2:

请参阅@Lix 的答案。


更新#1:

正如 Sean 指出的(感谢他),您可以使用 FBML 版本的分享按钮。FBML 版本的代码片段:

<!DOCTYPE html>
<html xmlns:fb="http://ogp.me/ns/fb#" lang="en" style="overflow:hidden;">
    <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
        <meta charset="utf-8">
        <title>Test</title>
    </head>
    <body>
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) return;
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=YOUR_APP_ID"; // appId must be valid
          fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));</script>
        <fb:share-button type="button_count" href="http://www.foobar.com">
        </fb:share-button>
    </body>
</html>

注意:此版本的共享按钮(与 Facebook 当前的所有社交插件一样)会创建一个带有参数的 cookie,该datr参数可能对用户隐私构成威胁。如果您必须遵守隐私政策,则应牢记这一点。

sharer.php 版本的代码片段:

<a id="fb-share" style='text-decoration:none;' type="icon_link" onClick="window.open('http://www.facebook.com/sharer.php?s=100&amp;p[title]=foo&amp;p[summary]=bar&amp;p[url]=https://www.foobar.com/&amp;p[images][0]=https://www.foobar.com/thumb.gif','sharer','toolbar=0,status=0,width=580,height=325');" href="javascript: void(0)">
    <img src="img/share.gif" width="62" height="18" alt="Share"/>
</a>



原始答案:

分享按钮已在不久前被弃用。它现在可能完全死了,或者只是暂时的,只有 Facebook 知道。官方已弃用。

文档中:

旧的“分享”按钮怎么了?

当我们启动“赞”按钮时,我们弃用了“分享”按钮 [...]

于 2012-07-18T09:30:38.953 回答
7

这里使用的代码,

<a name="fb_share" type="button_count" share_url="..." href="facebook.com/sharer.php" rel="nofollow">Share</a>

<script src="static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>

几年前已弃用,Facebook 于周一转而使用新的 JS SDK 代替它。

正式版的分享按钮是使用JS SDK并使用

<fb:share ..... />

也就是说,我们现在正在为它提供新的 SDK,我计划<a name="fb_share" ...今天让旧标签恢复活力 :) 抱歉。

但也许是时候更新到新的 SDK 了?

于 2012-07-18T17:25:28.873 回答
5

所以总结一下,如果你这样做,它仍然有效

<a target="_blank" style='text-decoration:none;' type="icon_link" href="http://www.facebook.com/sharer.php?u=URL-TO-SHARE-HERE"><img style="width:26px;height:26px;" src=".../facebook2.png"%>"/></a>

它将打开共享弹出窗口,该弹出窗口在发布后将自行关闭。

但是每个人都应该尽快转向新的“喜欢”和“发送”按钮......

于 2012-07-19T09:20:46.637 回答
3

我认为这似乎是一个很好的未来安全折衷方案,取自fb 文档:

直接 URL 示例

您还可以通过显式将人们定向到 /dialog/feed 端点来调出 Feed 对话框:

https://www.facebook.com/dialog/feed?app_id=458358780877780&
链接= https://developers.facebook.com/docs/reference/dialogs/&
图片= http://fbrell.com/f8.jpg& name=Facebook%20Dialogs&
caption=Reference%20Documentation&
description=Using%20Dialogs %20to%20interact%20with%20users.&
redirect_uri= https://mighty-lowlands-6381.herokuapp.com/

您必须制作一个应用程序才能获得应用程序 ID 才能在此方法中使用,但您不必在提示用户发布之前获得用户的许可,并且您可以使用任何您喜欢的图像。

于 2013-04-05T17:10:18.520 回答
1

7 月 18 日,Facebook 发布了一项更新——所有通过外部应用程序发布到页面的帖子现在都有一个分享按钮。以前人们使用了一些技巧来自己添加分享按钮(使用sharer.php),但现在应该删除它,因为通过应用程序发布的所有帖子都会自动获得一个分享按钮。

于 2012-07-18T20:50:28.830 回答
0

首先,他们弃用了分享按钮,转而支持点赞按钮(尽管分享继续有效,但就我的经验而言,它有问题)。但似乎,现在(2013 年 11 月 10 日)facebook 推出了新的分享按钮,它又可以正常工作了

检查这些链接

https://developers.facebook.com/docs/plugins/share-button/

https://developers.facebook.com/blog/post/2013/11/06/introducing-new-like-and-share-buttons/

于 2013-11-10T13:12:53.670 回答