2011-03-06 63 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] => ... 
} 

然后你只需要通过数组来完成一笔数额。

希望有帮助!