为什么 Facebook 图返回此页面的 0 个赞?

Why is Facebook graph returning 0 likes for this page?

我一直在试图弄清楚为什么向 Facebook 发出此请求 API returns 此页面有 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 returns 点赞数:

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 页面,并且根据我能够确定它是否有效或 returns 0。当它 returns 0,它总是 returns 0。当我在浏览器中手动检查页面时,我看到了喜欢的内容。

我在 FB 文档、SO 或 Google 中找不到明显的解释。

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

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

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

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