2

非常に簡単な操作をしなければなりませんが、私のプログラミング スキルは十分ではありません。Facebookページでいいねを数え、その数を自分のWebサイトに印刷する必要があります。通常の Web サイトでうまく機能する 2 つのスクリプトがありますが、それらはページのいいね! の数を表示したくありません。

<?php
$source_url = "http://www.facebook.com/";  //This could be anything URL source  including stripslashes($_POST['url'])
$url = "http://api.facebook.com/restserver.php?method=links.getStats&urls=".urlencode($source_url);
$likes =  $xml->link_stat->like_count;
$comments = $xml->link_stat->comment_count;
$total = $xml->link_stat->total_count;
$max = max($shares,$likes,$comments);
echo $likes;
?>

<?php
$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 = 'http://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));
?>

どちらのスクリプトも通常の Web サイトでは機能しますが、fb ページのいいね数を取得することはできません。リンクを別の形式で入力する必要がありますか?

このようなページ名を入力するだけで、http://graph.facebook.com/?ids=AutoSpecCenterのようなグラフを使用して必要なデータを取得できます。しかし、このデータを操作する方法がわかりません。

4

6 に答える 6

7

質問ですでに書いたように、Facebook の Graph API を介してそのような情報を照会できます。この短い例では、Coca-Cola ページの情報を取得し、JSON をデコードして、そのページが好きな人の数を出力します$data->likes

<?php 
$ch = curl_init("https://graph.facebook.com/CocaCola?access_token=<Access Token>");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$raw = curl_exec($ch);
curl_close($ch);

$data = json_decode($raw);
echo $data->likes . " people like Coca-Cola";
?>

ページのようなものを取得するだけでなく、より多くのタスクを実行する必要がある場合は、cpilkoが提案したようにFacebook SDKの使用を検討してください。

于 2012-08-27T19:11:13.740 に答える
2

手っ取り早い方法は次のとおりです。

<?php
$fb_id = 'AutoSpecCenter';
$url = 'https://graph.facebook.com/' . urlencode($fb_id);
$result = json_decode( file_get_contents($url) );
printf("<p>There are %s people who like %s</p>", $result->likes, $result->name);

これを取得するには、 Facebook PHP SDKをインストールするか、cURL を使用する方がはるかに優れています。

$fb_idURL と同じに設定することもできます。

于 2012-08-27T19:06:49.263 に答える
1

これも簡単な方法です....

<?php $page_id = 'yourfbpageid'; // your facebook page id $xml = @simplexml_load_file("http://api.facebook.com/restserver.php?method=facebook.fql.query&query=SELECT%20fan_count%20FROM%20page%20WHERE%20page_id=".$page_id."") or die ("a lot"); $fans = $xml->page->fan_count; ?> <li class="text white"><span></span><?php echo $fans.' Fans'; ?></li>

礼儀:ラビ・パテル

于 2013-07-12T05:03:17.613 に答える
1

これは私のために働いた

<?php
function getData($username){

$access_token = 'YOUR ACCESS TOKEN'; //Replace it with your Access Token
$json = json_decode(file_get_contents("https://graph.facebook.com/".$username."?fields=fan_count&access_token=".$access_token),true);
return $json;
}

$data = getData("Mypage");//Replace it with your Username


$likes = $data['fan_count'];
echo "Facebook Likes: ".$likes;

?>
于 2016-09-30T06:09:00.853 に答える
0

私は同じ問題を抱えlikes.summary(true),comments.summary(true)ていました.「フィールド」に対してパラメータを追加するだけでうまくいきました.

たとえば、私が使用したhttps://graph.facebook.com/me/feed?access_token=ACCESS_TOKEN&fields=story,from,story_tags,likes.summary(true),comments.summary(true)

それ以外のhttps://graph.facebook.com/me/feed?access_token=ACCESS_TOKEN

また、必要に応じて他のパラメーターを追加することもできます。で区切られた、

また、単一の投稿の数が必要な場合は、使用できます

https://graph.facebook.com/POST_ID/likes?summary=true&access_token=ACCESS_TOKEN

いいねカウントのために

または

    https://graph.facebook.com/POST_ID/comments?summary=true&access_token=ACCESS_TOKEN

コメント数について

于 2013-11-21T17:28:57.993 に答える