我一直试图弄清楚为什么这个Facebook API请求会为此页面返回0赞 - https://www.facebook.com/Lilyspad58。
以下是请求:
响应:
<fql_query_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true">
<link_stat>
<like_count>0</like_count>
</link_stat>
</fql_query_response>
以下是API返回喜欢的数量的示例:
唯一的区别是url参数中的页面。
以下是我一直使用的PHP代码:
function fbLikeCount($url)
{
//Construct a Facebook URL
$req = "https://api.facebook.com/method/fql.query?query=select%20%20like_count%20from%20link_stat%20where%20url=%22$url%22";
$contents = file_get_contents($req);
print "REQ: $req\n";
print "Response: $contents\n";
if ($xml=simplexml_load_string($contents))
{
$likes = $xml->link_stat->like_count;
return($likes);
}
return 0;
}
我在url参数中尝试了一系列其他Facebook页面,并且从我能够确定它可以正常工作或返回0.当它返回0时,它总是返回0.当我在浏览器中手动检查页面我看到了喜欢的内容。
我没有明显的解释,我可以在FB文档,SO或谷歌中找到。
答案 0 :(得分:1)
首先:FQL已被弃用多年,你真的不应该再尝试使用它了。
该页面很可能受年龄或位置限制,因此您需要用户令牌或页面令牌才能访问该页面。这将是API调用:
https://graph.facebook.com/Lilyspad58?fields=name,likes
有关访问令牌的更多信息: