2011-03-06 115 views
0

我的網頁上有一個插件,允許用戶在我的網站上分享文章,但每個網址都附有他們的用戶ID。facebook分享次數 - FQL與不同網址的問題

我想要做的就是統計總分享的數量,而不考慮shareers的用戶ID。

但是我不能讓FQL作爲其中的參數將不接受LIKE功能工作..

的頁面將是這樣的:

SID page1.php中= 2 page1.php中? ?sid = 34 page1.php?sid = 12

但我想檢索page1.php的總份額,不管sid。

的LIKE功能亙古在FQL工作沒有任何人有任何想法,我奮力

當前代碼:

https://api.facebook.com/method/fql.que ... ge1.php%27

回答

1

您可以使用FQL,使您的查詢:

$fql = 'SELECT total_count FROM link_stat WHERE url="http://google.com"'; 
$json = file_get_contents('https://api.facebook.com/method/fql.query?format=json&query=' . urlencode($fql)); 
$data = json_decode($json); 
echo $data[0]->total_count; 

這裏,total_count爲您提供鏈接的份額數。

如果你有幾個網址查詢,您可以通過使用OR使所有的,在只有一個查詢:

SELECT url, total_count FROM link_stat WHERE url="..." OR url="..." 

下面是一個例子是你想要得到的股份論文3個網址的數量:

$urls = array(
    "http://www.example.com/page1.php?sid=2", 
    "http://www.example.com/page1.php?sid=12", 
    "http://www.example.com/page1.php?sid=34", 
); 

function wrap($url) { 
    return 'url="' . $url . '"'; 
} 

$fql = 'SELECT url, total_count FROM link_stat WHERE '; 
$fql .= implode(" OR ", array_map("wrap", $urls)); 

$json = file_get_contents('https://api.facebook.com/method/fql.query?format=json&query=' . urlencode($fql)); 
$data = json_decode($json); 

而且$data是3個對象的與每個URL的份數的數組:

array(4) { 
    [0]=> object(stdClass)#2 (2) { 
    ["url"]=> string(17) "http://www.example.com/page1.php?sid=2" 
    ["total_count"]=> int(1318598) 
    } 
    [1] => ... 
    [2] => ... 
    [3] => ... 
} 

然後你只需要通過數組來完成一筆數額。

希望有幫助!