1

Facebook からスプレッドシートにデータを取得しようとしています。次のコードを使用していますが、いくつか問題があります。

PHP 警告: 27 行目の /opt/lampp/htdocs/xampp/tratajson.php の foreach() に無効な引数が指定されました

これが私のコードです:

<?php 
  $arquivo = fopen('/filepath.csv','w');
  $request_url ="/filepath.json";
  $requests = file_get_contents($request_url);
  $fb_response = json_decode($requests);

  foreach ($fb_response->feed->data as $item)
  {
    $mensagem=trim($item->message);    
    $mensagem = str_replace(array("\r\n", "\r", "\n","(",")","chr(13)","\t", "\0", "\x0B"), "", $mensagem);   

    $quempostou=$item->from->name;  
    $data=$item->created_time;

    $ncomentarios=0;
    $nlikes=0;
    foreach ($item->comments as $comentarios)
    {
      $ncomentarios++;
      foreach ($comentarios as $comentario)
      {
        echo "Quem comentou:";
        echo $comentario->from->name;
        $comentou=$comentario->from->name;

        echo " Curtir:";
        echo $comentario->like_count;
        $curtidas=$comentario->likecount;
        $nlikes=$nlikes+$curtidas;

        echo " Data:";
        $datacomentario = $comentario->created_time;
        echo $datacomentario; 

        echo " Comentario:";  
        $comentario=$comentario->message;
                   $comentario = str_replace(array("\r\n", "\r", "\n","(",")"), "", $comentario);   
        echo $comentario;

         $grava="COMENTARIO:".";".$comentario.";".$comentou.";".$datacomentario.";".$curtidas."\n";

        fwrite($arquivo,$grava);

        echo "<br>";    
      }
    }

    echo "Quem postou: $quempostou <br>";
    echo "Mensagem: $mensagem <br>";
    echo "Data: $data <br>";
    echo "Comentarios: $ncomentarios <br>";
    echo "Likes na thread: $nlikes <br>"; 
    echo "<br><br>";

    $grava="POST:".";".$mensagem.";".$quempostou.";".$data.";".$ncomentarios.";".$nlikes."\n\n";
    fwrite($arquivo,$grava);
  }
  fclose($arquivo);
?>

$request_url で要求されたファイルは、ページ フィードの FB Graph API エクスプローラーで返される JSON ファイルの構造を持っています。

誰かが私を助けることができますか?

4

1 に答える 1