facebook根据页面分享特定的动态内容

时间:2017-10-26 14:00:24

标签: facebook

我有一个显示汽车的网站。如果用户点击每辆车,它将指向每个汽车信息页面。我想分享每个汽车内容(图片,标题,描述,网址)。 例如,如果用户点击ID为1的汽车,则共享对话框将显示该汽车ID 1的内容,如果用户点击ID为2的汽车,则共享将显示汽车ID 2的内容。我已经google搜索解决方案但是没有找到了。以下是我的代码。

<head>
<meta property="og:url"           content="<?php echo 'http://motorcarmyanmar.com';?>" />
  <meta property="og:type"          content="website" />
  <meta property="og:title"         content="Buy,Sell,Rent,Or Lease Cars Or Car Accessories In Myanmar" />
  <meta property="og:description"   content="Car Sales,Car Rentals,Car Accessories Sales" />
  <meta property="og:image"         content="http://motorcarmyanmar.com/pictures/car1.png" />
<meta property="og:image:alt"    content="car picture"/>
<meta property="og:image:width" content="500" />
<meta property="og:image:height" content="400" />
<meta property="fb:app_id" content="1538657022815637" />
</head>

在身体的开头。

<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
  FB.init({
    appId            : '1538657022815637',
    autoLogAppEvents : true,
    xfbml            : true,
    version          : 'v2.8'
  });
  FB.AppEvents.logPageView();
  };
(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/sdk.js#xfbml=1&version=v2.8&appId=1538657022815637";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

在汽车信息页面。

<script>

document.getElementById('shareBtn').onclick = function() {
  var title,description,image;
  title=$('#title_fb').val();
  description=$('#description_fb').val();
  image=$('#image_fb').val();
    FB.ui({
    method: 'share_open_graph',
    action_type: 'og.shares',
    action_properties: JSON.stringify({
      object: {
        'og:url': window.location.href,
        'og:title': title,
        'og:description': description + ' Lakhs',
        'og:image': image,
        'og:image:width':'500',
        'og:image:height':'400'
      }
    })
  },
  function (response) {
  // Action after response
  });


}
</script>

根据我给出的代码,动态共享有效。但我希望共享图像更大而不是缩略图。我读到如果共享达到50个计数,则无法编辑og标记。那么还有另一种方式可以分享,或者这种方式是正确的。我看到其他网站页面共享动态内容而没有创建对象。

2 个答案:

答案 0 :(得分:0)

关注关于照片尺寸的Facebook最佳做法:https://developers.facebook.com/docs/sharing/best-practices/#images

此外,您应该为每个共享使用单独的网址和单独的og:url标记,而不使用其他参数的method: 'share'share_open_graph方法只是一种解决方法。

例如:

<meta property="og:url" content="<?php echo 'http://motorcarmyanmar.com/?id=' . $_GET['id'];?>" />

当然你需要检查参数是否存在,但这只是一个例子。

答案 1 :(得分:0)

网址是   http://www.motorcarmyanmar.com/pages/car_details/ca36?ca36=Details&Details=ca36

  <head>
   <?php 
      $title_header="";
      $description_header="";
      $features_header="";
      $image_header="";
      if(isset($_GET['Details']))
    {

     $car_id=$_GET['Details'];
     $car_details= //get from database width $car_id;
     $title_header=$car_details['header'];
     $description_header=$car_details['description'];
     $image_header=$car_details['image'];

    }
    ?>
        <!-- You can use Open Graph tags to customize link previews.
        Learn more: https://developers.facebook.com/docs/sharing/webmasters -->
      <meta property="og:url"           content="<?php echo 'http://motorcarmyanmar.com' . $_SERVER['REQUEST_URI'];?>" />
      <meta property="og:type"          content="website" />
      <meta property="og:title"         content="<?php echo (!empty($title_header)?$title_header:'Some Buy,Sell,Rent');?>" />

      <meta property="og:description"   content="<?php echo (!empty($description_header)?$description_header:'Car Sales,Car Rentals,Car Accessories Sales');?>" />
      <meta property="og:image"         content="<?php echo (!empty($image_header)?$image_header:'http://motorcarmyanmar.com/images/icons/car1.jpg');?>" />
    <meta property="og:image:alt"    content="car picture"/>
    <meta property="og:image:width" content="500" />
    <meta property="og:image:height" content="400" />
    <meta property="fb:app_id" content="1538657022815637" />
    </head>

这就是我所做的。使用此代码,某些页面显示正确的共享内容(标题,描述,图像),某些页面显示默认主页共享内容。但是每个页面只有url是正确的。代码是否正确?