为什么Facebook图表返回0喜欢这个页面?

时间:2016-02-21 23:36:23

标签: php facebook facebook-graph-api facebook-fql facebook-graph-api-v2.0

我一直试图弄清楚为什么这个Facebook API请求会为此页面返回0赞 - https://www.facebook.com/Lilyspad58

以下是请求:

https://api.facebook.com/method/fql.query?query=select%20%20like_count%20from%20link_stat%20where%20url=%22https://www.facebook.com/Lilyspad58%22

响应:

<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返回喜欢的数量的示例:

https://api.facebook.com/method/fql.query?query=select%20%20like_count%20from%20link_stat%20where%20url=%22https://www.facebook.com/CriaBabyShoes%22

唯一的区别是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或谷歌中找到。

1 个答案:

答案 0 :(得分:1)

首先:FQL已被弃用多年,你真的不应该再尝试使用它了。

该页面很可能受年龄或位置限制,因此您需要用户令牌或页面令牌才能访问该页面。这将是API调用:

https://graph.facebook.com/Lilyspad58?fields=name,likes

有关访问令牌的更多信息: