我被困在我的代码中 我需要获得见解信息和一些其他信息,如反应,描述...... 我的问题是我无法获得反应或评论信息如果我使用这种方法
$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;
}