Reputation: 535
I need to fetch facebook likes,share, comments count from an article
Is there any way to fetch facebook (likes,share, comments) count.
Thanks in advance.
Upvotes: 11
Views: 35601
Reputation: 6749
Using Graph API as FQL is deprecated, The 101.. you see in the url is the article id
https://developers.facebook.com/tools/explorer
Upvotes: 0
Reputation: 30027
Actually you can have a more detailed report using FQL. Try following query:
Here the php code:
$fql = "SELECT url, normalized_url, share_count, like_count, comment_count, ";
$fql .= "total_count, commentsbox_count, comments_fbid, click_count FROM ";
$fql .= "link_stat WHERE url = 'www.apple.com'";
$apifql="https://api.facebook.com/method/fql.query?format=json&query=".urlencode($fql);
$json=file_get_contents($apifql);
print_r( json_decode($json));
And this is the expected result:
Array
(
[0] => stdClass Object
(
[url] => www.apple.com
[normalized_url] => http://www.apple.com/
[share_count] => 355693
[like_count] => 500374
[comment_count] => 290890
[total_count] => 1146957
[commentsbox_count] => 2
[comments_fbid] => 388265801869
[click_count] => 16558
)
)
Upvotes: 27
Reputation: 132
result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
$photoid = $row['photoid'];
$likes = $facebook->api("/$photoid/likes");
echo "<br><br>".$row['photoid'];
echo "<br />";
foreach ($likes['data'] as $like)
{
$likeid = $like['id'];
$name = $like['name'];
echo "<br>like : ".$like['id']." , ".$like['name'];
$query = sprintf("INSERT INTO photo_like VALUES (%s,%s,'%s')",$user_id,$likeid,$name);
echo "<br>query string : ".$query."<br><br>";
$result = mysql_query($query);
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
echo "<br>";
}
Upvotes: 1
Reputation: 535
This solution worked for me:
<?php
$source_url = "http://www.flightpodcast.com/episode-6-john-bartels-qantas-qf30";
$url = "http://api.facebook.com/restserver.php?method=links.getStats&urls=".urlencode($source_url);
$xml = file_get_contents($url);
$xml = simplexml_load_string($xml);
echo "Share --- ".$shares = $xml->link_stat->share_count;
echo "<br/>";
echo "Like --- ".$likes = $xml->link_stat->like_count;
echo "<br/>";
echo "Comments ---".$comments = $xml->link_stat->comment_count;
echo "<br/>";
echo "Total --- ".$total = $xml->link_stat->total_count;
echo "<br/>";
echo $max = max($shares,$likes,$comments);
Upvotes: 5