4

我需要分享包含自定义标题,图片和说明的脸书测验的结果。在4月18日更新至版本2.9之前,Wich曾完美地工作过Facebook共享与API版本2.9的自定义参数

但它不适用于版本2.9。那么我错过了什么吗?或者Facebook不希望我们在2017年分享我们网站的自定义Facebook Feed?

对于我的安装测试Facebook供稿我严格编码Facebook Developers Documentation

Facebook Changelog v2.9说参数图片,名称,说明和标题不再支持。

我的FB API初始化:

<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId  : '*APP-ID*', 
     xfbml  : true, 
     version : 'v2.9' 
    }); 
    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"; 
    fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 
</script> 

我的FB-份额电话:

<script> 
    $(document).ready(function() { 
     $('#fbButton').click(function() { 
      FB.ui({ 
       method: 'feed', 
       link: '*URL*', 
       caption: 'An example caption', 
       picture: '*URL*/img/content4.jpg', 
       name: 'An example name', 
       description: 'An example description' 
      }, function(response){}); 
     }); 
    }); 
</script> 

结果我得到没有任何图片或说明Facebook的饲料。唯一的是标题(<head>中定义的页面标题<title>)。

很明显,通常的程序已不再适用。

那么有没有什么办法与新的Facebook API版本2.9共享自定义图片与自定义图片?

有什么解决方法吗?或者,它只是不可能的V2.9,因为Facebook不希望我们分享这样的定制饲料? (不管出于什么原因..)

(不,我不能用OG:标签)

+1

Facebook不希望你能够做到这一点 - 打击假新闻的一部分;已经有一些引人注目的事件发生,这些事件被用来发布带有虚假标题,描述和缩略图的新闻文章的链接,试图诱骗用户相信文章所说的内容与实际完全不同。打开图形元标签是唯一的方法来做到这一点。如果您需要分享用户的个人测验结果 - 请为这些结果创建单独的网址。 – CBroe

+0

@CBroe,你可以发表一个声明的链接,它是打击假新闻的一部分吗? – Alex

+0

对不起,这不是基于任何官方声明;根据以下新闻报道,与Facebook开发人员的讨论等,如果您愿意,可以称其为一种直觉。 – CBroe

回答

0

这个问题就遇到自己。 经过一番研究,我发现这个解决方案:

www.facebook.com/sharer.php?caption=[caption] &描述= [说明] & U = [公司网址] &画面= [图像URL]

您可以使用JavaScript window.open来模拟这样的行为:

这里是一个工作示例: https://jsfiddle.net/ovidiu_turean/mhuexvjL/

<button onclick="myFunction()">Try it</button> 

<script> 
function myFunction() { 
    window.open('https://www.facebook.com/sharer.php?title=ThisIsAtitle&description=ThisIsAdesc&u=https://www.google.ro&picture=https://wallpapers.wallhaven.cc/wallpapers/full/wallhaven-526588.jpg', 'Share', 'scrollbars=yes,resizable=yes,toolbar=no,menubar=no,scrollbars=no,location=no,directories=no,width=300, height=300, top=300, left=300'); 
} 
</script> 
+0

该示例不起作用。 – Angie

+0

facebook刚刚删除sharer.php端点。所以我的例子(如上所述)不再工作 –

+0

他们没有删除sharer.php,但它只需要url作为参数。这是多年以来的事情。 – luschn

3

我只是试图使用开放图形方法,而不是饲料和覆盖OG特性,见下图:

FB.ui({ 
      method: 'share_open_graph', 
      action_type: 'og.shares', 
      action_properties: JSON.stringify({ 
       object : { 
        'og:url': 'http://astahdziq.in/', // your url to share 
        'og:title': 'Here my custom title', 
        'og:description': 'here custom description', 
        'og:image': 'http://apps.investis.com/Dharmendra/fbPOC/south.jpg' 
       } 
      }) 
      }, 
      // callback 
      function(response) { 
      if (response && !response.error_message) { 
       // then get post content 
       alert('successfully posted. Status id : '+response.post_id); 
      } else { 
       alert('Something went error.'); 
      } 
     }); 

这个工作对我来说,因为我能够发布自定义图像与标题和描述。