2011-05-01 5 views
0

FacebookグラフAPIの値(特定のファンページの総数)をJSON経由で取得する簡単なPHPコードがあります。ファンページの大半は完璧に機能しますが、3つのファンページ(17ページ中)では、その値を読み取って印刷することはできません。フェイスブックグラフAPI JSON値

フェッチしたいデータが一般公開されているため、同じコードがすべてのページに適用されるため、どこに問題があるのか​​分かりません。

はここでID 214014840762とファンページの正しい値を出力するコードです:

<?php  
$currsiteurl = 'http://graph.facebook.com/214014840762'; 
$graph = json_decode(file_get_contents($currsiteurl)); 
$currnofans = $graph->likes; 
echo "Number of likes: ".$currnofans; // prints out 107936  
?> 

しかし、私は単に160788560626000または167134649991034にIDを変更した場合、同じコードはもう動作しませんし、そうでありません何かを印刷する。

ありがとうございます!

+1

[「好き」] $のグラフのようなものを試してみてください? – Nicolas78

答えて

2

私はこれらのページが何であるか、FacebookのURLが何であるかわからないので、これを確認することはできませんが、ページが公開されていない可能性があります。おそらく)年齢制限されています。年齢によって制限されている場合、Facebookのグラフではページの情報にアクセスすることはできません。残念ながら、これはFacebookアプリケーションのアクセストークン、あるいは18を超えるユーザーのアクセストークンを渡しても真です。これはかなりばかげて、bugs.developers.facebookに少なくとも5つのバグレポートがなければなりません。それのためのcom。

アップデート2011年6月13日
最近、Facebookはページについての情報を引き出すために有効なユーザーアクセストークンを使用する必要があります更新しました。これは恐ろしい変化ですが、それはそれです。有効なユーザー・アクセス・トークンがないと、基本情報(root、http://graph.facebook.com/<page_id>)またはphotosまたはalbumsエンドポイントではないすべてのエンドポイントから応答が返されます。あなたが確認する必要があります他のエンドポイント(postsfeedvideosstatuses、など)のいずれかを要求している場合

だから、あなたがそれらにアクセストークン有効ユーザーアクセスを提供します。

-1

私は右、結果である配列ではなく、クラス だ場合はそのページのプライバシー設定多分

+0

同じ方法で構造化された他のページでも動作すると考えているので、どうしてそんなことが起こるのかわかりません。 –