Facebook PHP SDK&页面馈送帖子(过滤结果(
问候!我最近一直在研究一种有效的方法,在网站上实现Facebook公共页面提要(每条帖子都有描述、日期和图片(。我把下面的代码放在一起,允许我在$元素上使用foreach。
$pageid = '#PAGEID#';
$accesstoken = '#ACCESSTOKEN#';
$url = "https://graph.facebook.com/v2.7/$pageid/feed?limit=20&access_token=$accesstoken";
function getfb($url){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_REFERER, '');
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$raw_xml = curl_exec($curl); // execute the curl command
$result = json_decode($raw_xml, true);
return $result;
}
$elements = getfb($url);
foreach($elements['data'] as $k => $v){
$url = "https://graph.facebook.com/v2.7/{$v['id']}?fields=full_picture,picture&access_token=$accesstoken";
$fields = getfb($url);
$elements['data'][$k]['pictures'] = $fields;
}
var_dump($elements);
它确实工作得很好,但不幸的是,它没有只列出所有者在页面上发布的帖子,而是列出了在"访问者帖子"框内发布的帖子。。。这是我不想要的。你知道和/或可以帮助我找出如何过滤这些结果,只列出页面所有者发布的帖子吗?
非常感谢!
感谢Luschn和CBroe发布的建议,我一直在阅读/查找,并使用以下代码结束。我还不确定这是否是正确/最好的方法,但它似乎确实很有效。
require_once ('facebook/autoload.php'); // See https://developers.facebook.com/docs/reference/php/
$facebook_page_id = 'xxx';
$facebook_app_secret = 'yyy';
$facebook_app_id = 'zzz';
$facebook_graph_version = 'v2.6';
$fb = new FacebookFacebook([
'app_id' => $facebook_app_id,
'app_secret' => $facebook_app_secret,
'default_graph_version' => $facebook_graph_version
]);
$response = $fb->get( '/'.$facebook_page_id.'/posts?fields=message,full_picture,link,updated_time,picture&limit=5', $fb->getApp()->getAccessToken() );
$get_data = $response->getDecodedBody(); // for Array resonse
foreach ( $get_data['data'] as $single ) {
var_dump($single);
}