php-Stack溢出上的Facebook“共享”按钮如何工作?

我希望将社交图标添加到我们的网站,以使客户能够“喜欢”,鸣叫和共享其Facebook和Twitter个人资料上的内容.我注意到在此框的左侧,facebook和twitter图标完全可以完成我要完成的任务,但是我对如何执行此操作并不熟悉.查看源代码,其中有JS引用:

<script type="text/javascript">
  StackExchange.ready(function() {
    var shareUrl = "http%3a%2f%2f*.com%2fq%2f7505636%2f337690";
    var shareMsg = "Advice+integrating+Facebook+%27share%27+and+link%2fimage+capabilities+with+our+site";   
    StackExchange.share.facebook($("#fb-share-7505636"), shareUrl, shareMsg);
    StackExchange.share.twitter($("#twitter-share-7505636"), shareUrl, shareMsg);
});
</script>

我们的网站是这样运作的:尽管任何人都可以随时访问主站点,但个人可以使用自己的唯一URL来注册代表,该URL充当引荐来源,以给予奖励“信用”.我已经审查了Facebook开发者网站,说实话,我有点不知所措.我想让我们的会员能够从其仪表板中单击Facebook图标,提示他们在墙上贴上设置好的图像,设置的标题和说明.我已经阅读了文档,这是通过在头部设置元标记来完成的,但这对我的网站似乎并不重要(或者我显然做错了).

如果facebook正在寻找的URL(共享URL)位于受密码保护的页面或网站的某个区域(该区域不允许基于缺少的PHP SESSION变量的内容)后面,该怎么办?

编辑

我在网上也看到很多内容,其中说我必须集成Facebook JS SDK,然后再讨论在墙上写的身份验证/权限等.是的,左边的链接不要求允许进行任何操作.除了1)登录FB帐户,2)在用户墙上张贴.
This site is a perfect example

上面的链接很棒,但是它假设我需要授权一个本网站上没有的“共享”.

解决方法:

当您单击共享按钮时,您在facebook.com上调用一个脚本,然后该脚本将依次访问查询字符串中指向的页面(?u = xxxxxx).

Facebook将解析该页面并获取其找到的前几张图像,该页面的描述和标题.这就是向您显示的内容,并允许您添加一些其他文本(以及编辑标题/说明/并选择其他图像).

如果该页面包含facebook要求您添加到页面的特定元标记,则它们将使用这些标记填充标题/描述/图像.这使网页作者可以控制其页面在Facebook feed中的显示方式(尽管用户仍可以在发布前对其进行编辑).这些meta标签需要在该特定页面中才能被facebook使用.

如果facebook由于受密码保护等原因而无法访问该页面,则它无法解析元标记,然后仅向用户显示URL作为标题,没有描述和缩略图.

上一篇:Facebook喜欢保存到PHP数据库


下一篇:我无法使用C#使用Facebook SDK 5.1检索我的群组