facebook共享计数-具有不同URL的FQL存在问题

facebook共享计数-具有不同URL的FQL存在问题,facebook,facebook-fql,Facebook,Facebook Fql,我的页面上有一个插件,允许用户在facebook上分享我网站上的文章,但每个url都附加了他们的用户id 我想做的是计算总共享数,而不考虑共享者的用户id 但是,我无法使FQL工作,因为where参数将不接受LIKE函数 页面将类似于: page1.php?sid=2 page1.php?sid=34 page1.php?sid=12 但是我想检索page1.php的总共享,而不考虑sid LIKE函数在FQL中不起作用在我挣扎的时候,有人有什么想法吗 当前代码: …ge1.php%27您可以使

我的页面上有一个插件,允许用户在facebook上分享我网站上的文章,但每个url都附加了他们的用户id

我想做的是计算总共享数,而不考虑共享者的用户id

但是,我无法使FQL工作,因为where参数将不接受LIKE函数

页面将类似于:

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

但是我想检索page1.php的总共享,而不考虑sid

LIKE函数在FQL中不起作用在我挣扎的时候,有人有什么想法吗

当前代码:


…ge1.php%27

您可以使用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\u count
提供链接的共享数量

如果要查询多个URL,可以使用
在一个查询中查询所有URL:

SELECT url, total_count FROM link_stat WHERE url="..." OR url="..."
下面是一个示例,您希望获得这3个URL的共享数:

$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] => ...
}
然后你只需要通过数组来求和

希望有帮助