2012-01-05 49 views
0

一定的鏈接,我的新網站,我想用一個Facebook按鈕/圖標我已經找到了,不是像按鈕的標準不同。此外,我更喜歡在Facebook上分享上面喜歡的網址。因此,我使用正確的參數打開了一個彈出窗口,單擊顯示http://facebook.com/sharer/sharer.php。使用Facebook的圖形API,我成功地得到我的URL的股份數目及使用以下PHP腳本(檢索)和JavaScript(顯示)顯示它旁邊的按鈕:檢查是否有人分享在Facebook上

<?php 
$fql_query_url = 'https://graph.facebook.com/' 
. '/fql?q=SELECT+total_count+FROM+link_stat+WHERE+url="URL_GOES_HERE"'; 
$fql_query_result = file_get_contents($fql_query_url); 
$fql_query_num = substr($fql_query_result, 24); 
$fql_query_num = substr($fql_query_num, 0, -3);     
?> 

<script type="text/javascript"> 
function showShares(){ 
document.getElementById('fb_count').innerHTML = <?php echo $fql_query_num;?>; 
} 
</script> 

(原始文件也包含Twitter的一個類似的腳本,我已經離開了這裏,以保持事情說清楚。)

我現在想增加一個功能,就是當人們分享的鏈接,相應的按鈕變成灰色/無效onload的頁面。我期望這可以很容易地使用FQL查詢和JavaScript來完成,但我還是在http://developers.facebook.com上找不到它。所以我想知道是否有人知道如何做到這一點(如果有任何方法......)。

在此先感謝!

+0

爲什麼FQL那麼你可以通過'http://graph.facebook.com/ ID = HTTP:// google.com'? – 2012-01-05 20:32:32

+0

還不知道,謝謝。重寫了我的功能! – Stijn 2012-01-05 20:47:24

+0

只是爲了想使用http://graph.facebook.com/?id=http://google.com以及人們:有些事情,你應該知道的是,這種方法不顯示0,如果有不是股票,而是「股份」: - 部分消失。你應該添加一個'if'語句來防止事情發生錯誤。 – Stijn 2012-01-05 21:18:51

回答

1

http://facebook.com/sharer/sharer.php已被棄用。我建議使用Graph API或者Facebook開發的新Plugins之一取代它。一旦你開始實施新的東西,你的問題可能會改變。 FWIW,我不認爲有一種方法可以告訴特定用戶是否共享了一個鏈接(除非它是Facebook頁面)。

+0

我知道有新的Facebook插件喜歡一個URL。如我所說,我不喜歡likebutton,我更喜歡分享以上喜歡。但是,你並不總是得到你最喜歡的東西;)我確實已經注意到,檢查某人是否喜歡某事而不是分享同樣的東西會容易得多。但我自己的按鈕比標準IMO更適合我的網站。所以我一直在尋找開發部分。不幸的是,我找不到另一種喜歡這種按鈕的方式。我應該習慣按鈕,還是有另一種方法來完成這樣的事情? – Stijn 2012-01-05 20:12:50