1

Я пытался выяснить, почему этот запрос в Facebook API возвращает 0 нравится этой странице - https://www.facebook.com/Lilyspad58.Почему Facebook graph возвращает 0 нравится этой странице?

Вот запрос:

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; 
} 

Я попытался ряд других страниц Facebook в параметре URL-адреса, и от того, что я был в состоянии определить его, что он либо работает или возвращает 0. Когда он возвращает 0, он всегда возвращает 0. Когда я вручную проверяю страницу в своем браузере, я вижу подобных.

Нет очевидных объяснений, которые я могу найти в документах FB, SO или Google.

ответ

1

Прежде всего: FQL устарел с годами, вы действительно не должны пытаться его использовать.

Скорее всего, эта страница ограничена по возрасту или местоположению, поэтому для ее доступа требуется токен пользователя или токен страницы. Это будет API вызова:

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

Подробная информация о доступе лексем: