获取洞察指标和发布信息

时间:2017-06-15 13:31:25

标签: php facebook facebook-graph-api

我被困在我的代码中 我需要获得见解信息和一些其他信息,如反应,描述...... 我的问题是我无法获得反应或评论信息如果我使用这种方法

$response->getGraphEdge();

我可以获得所有见解信息但我的评论或反应信息我的脚本返回0

但如果我使用这种方法

$response->getDecodedBody();

我有我想要的所有信息,但我无法进入下一个结果页

这是我的要求

$data = $pageFeed_demotivateur->demo_request('GET' , 'XXXXXX/posts?fields=insights.metric(post_impressions_unique,post_video_views,post_consumptions),id,type,link,name,message,created_time,reactions.limit(0).summary(true),comments.limit(0).summary(true),shares&limit=100&since='.intval($last_year_start).'&until='.intval($last_year_end));

方法demo_request

public function demo_request($method = 'GET' , $params){

    $request = $this->facebook->request($method, $params);

    try {
      $response = $this->facebook->getClient()->sendRequest($request);
    } catch(Facebook\Exceptions\FacebookResponseException $e) {
      // When Graph returns an error
      echo 'Graph returned an error: ' . $e->getMessage();
      exit;
    } catch(Facebook\Exceptions\FacebookSDKException $e) {
      // When validation fails or other local issues
      echo 'Facebook SDK returned an error: ' . $e->getMessage();
      exit;
    }

    $posts = $response->getGraphEdge();     
    //$posts = $response->getDecodedBody(); Can't use next() method
    $all_posts = array();
    $all_post_info = array();

    if($this->facebook->next($posts)){  

        $posts_array = $posts->asArray();
        $all_posts = array_merge($posts_array, $all_posts);
        while($posts = $this->facebook->next($posts)){
            $posts_array = $posts->asArray();
            echo '<pre>';
            var_dump($posts);
            echo '</pre>';
            $all_posts = array_merge($posts_array, $all_posts);
        }

    }else{
        $posts_array = $posts->asArray();
        $all_posts = array_merge($posts_array, $all_posts);
    }

    return $all_posts;
}

0 个答案:

没有答案