-2

私が実際にこれを正しく行っているかどうかはわかりませんが、YouTube で見ていたチュートリアルから小さなコードを取得しました。

利用可能なすべてのパブリック投稿にアクセスしようとしており、リンクを介して簡単にアクセスできる方法を見てきました: https://graph.facebook.com/search?q=試験に合格しました&type=post&locale=en_GB

大量の情報のように見えるものを提示しますが、PHPを使用してこの明らかなJSON出力を理解できる情報に処理するにはどうすればよいですか? インターネット上で波を起こしている同様のサイトでそれが行われているのを見たことがあり、自分でやってみたいと思いました.

これは次のコードを使用して可能ですか:

$fbquery = "https://graph.facebook.com/search?q=i hate my boss&type=post";
$fb = file_get_contents($fbquery, 'rb');
$fbarray = json_decode($fb, true);
echo $fbarray['message'];

それともどこかで間違っていますか?その公開情報が利用可能で、アドレスバーのリンクを使用すると、ユーザーのログインやアクセストークンを使用せずに生成および出力されることに注意してください。

ご協力いただきありがとうございます。

デイブ。

4

2 に答える 2

0

ここにはいくつかの問題があります。1) 検索文字列を urlencode する必要があります。第二に$fbarray、オブジェクトです。アイテムは1つだけではありません。このコードを試してください:

$str = "i hate my boss";
$str = urlencode($str);
$fbquery = "https://graph.facebook.com/search?q={$str}&type=post";
$fb = file_get_contents($fbquery, 'rb');
$fbarray = json_decode($fb, true);
foreach ($fbarray as $item) { 
   echo $item['message'];
}

このようなパブリック クエリをテストするには、$fbqueryURL をブラウザーのアドレス バーに貼り付けて、データが返されるかどうかを確認します。

于 2012-07-04T11:36:38.617 に答える
0

json_decode の後、オブジェクトを取得します。

$fbarray->data を実行すると、オブジェクトの配列が取得されます。各オブジェクトをループして、そのタイプを確認します。

お気に入り

for(key in $fbarray->data){
  $element = $fbarray->data[key]; // you get each element.
  if($element->type =="photo") // check for different types
  {
     // display as photo.
    echo '<img src="$element->picture">';
  }
  if($element->type =="status") 
  {
     // display message.
    echo $element->message;
  }
}

jsonedtorなどのオンライン json エディターを使用して、ツリー ビューを取得できます。これは、json のツリー構造を理解するのに役立ちます。

于 2012-07-04T11:09:39.753 に答える