javascript - Facebook 内容分享

标签 javascript php facebook sdk facebook-javascript-sdk

我有一个简单的代码,但无法运行。我的网站是 asaphot.com,我有基于 id 的不同图像,网址示例是 http://asaphot.com/photos/14。现在我的代码是:

<meta property="og:url"           content="http://asaphot.com/photos/14" />
    <meta property="og:type"          content="website" />
    <meta property="og:title"         content="ASAPHOT" />
    <meta property="og:description"   content="Asaphot image" />
    <meta property="og:image"         content="{{ baseUrl() }}/assets/uploads/test.jpg" />

<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_GB/sdk.js#xfbml=1&version=v2.5&appId=696480183784974";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<div class="fb-share-button" data-href="http://asaphot.com/photos/14" data-layout="button_count"></div>

每当我点击共享时,我只能得到规范网址,即 http://asaphot.com/login,但获取的网址是 http://asaphot.com/photos/14 .

当我点击分享时会显示主页: enter image description here

我在这里遗漏了什么吗?

最佳答案

我认为您必须登录才能进入该页面。

当 facebook 解析你的 URL 时,它会遇到登录页面。所以它将登录。

解决方案:

分享到 Facebook 的网址不应有任何登录信息。

无需登录即可共享内容。

编辑 我认为这样做不安全,

但是你可以试试这个,

$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
if (substr($host, (strlen($host)-13)) == 'facebook.com' ){
    //set a variable in session.or set login
} 

关于javascript - Facebook 内容分享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33820074/

相关文章:

javascript - 隐藏特定时间的YouTube API元素

javascript - 在 ReactJS 中将 ValueLink 与自定义 onChange 处理程序结合使用

javascript - 如何动态地将现有对象的值添加到新对象?

php - 从 WordPress 类别 URL 中删除类别基础

facebook - 通过 Facebook 图形 API 发布带有大图片的链接

javascript - 如何循环遍历一组异步作业,并分别执行它们?

php - 查询生成器 : passing argument to anonymous function

php - Helper 与 Model 交互可以吗?

facebook - 如何获得好友的时间?

java - 使用 API(Java?)在 Facebook 粉丝页面上发布状态