PHP Facebook JSON转换工具到csv

时间:2013-10-08 01:47:43

标签: php json facebook facebook-graph-api csv

我正在尝试将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文件的结构:

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

尝试将此$fb_response = json_decode($requests);更改为此$fb_response = json_decode($requests,true);