为了获得喜欢和分享的数量,我使用 FQL 而不是 Graph API(即使我实际上是使用 Graph API 来发送查询)。
但这还不够:为了能够做到这一点,我已经rawurlencode()
在我想要获取数据的 URL 上调用了该函数。否则,我会不断收到错误。
所以,这个likes()
,我用来计数的函数:
function likes($url) {
$url = rawurlencode($url);
$json_string = file_get_contents("http://graph.facebook.com/fql?format=json&q=SELECT%20share_count,%20like_count%20FROM%20link_stat%20WHERE%20url='$url'");
$json = json_decode($json_string, true);
if (key_exists("data", $json)) {
if (is_array($json["data"])) {
if (array_key_exists("0", $json["data"])) {
return intval($json["data"]["0"]["share_count"]) + intval($json["data"]["0"]["like_count"]);
} else {
echo "Error : '0' is no key<br/>";
return 0;
}
} else {
echo "Error : data is no table <br/>";
return 0;
}
} else {
echo "Error : No data key <br/>";
return 0;
}
}
我希望有一天这会对某人有所帮助:)