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.'); 
      } 
     }); 

這個工作對我來說,因爲我能夠發佈自定義圖像與標題和描述。