[Facebook] PHP API FQL 取得動態消息的貼文與照片
<?
//取得 Facebook 粉絲團動態牆的文字與照片
//因為取得的會是多維陣列,常用print_r查看會比較瞭解。
$fb_fans_id = "粉絲團ID";
$fql = "SELECT post_id, source_id, attachment, permalink, message, type, created_time
FROM stream
WHERE source_id = '$fb_fans_id' and post_id = '要查詢的PO文ID'
";
$Fary['method'] = 'fql.query';
$Fary['query'] = $fql;
//取得動態牆該筆資料
$StreamInfo = $Facebook->api($Fary);
//因為只查這一筆PO文,不需要陣列
$DataInfo = $StreamInfo[0];
//取得較大的圖片(會有多組圖片 ex相簿分享在動態牆)
$MediaList = $DataInfo['attachment']['media'];
foreach ($MediaList as $MediaInfo) {
try{
$fql = "SELECT pid, src_big FROM photo
WHERE aid= '{$MediaInfo[photo][aid]}' and pid = '{$MediaInfo[photo][pid]}' and owner = '{$MediaInfo[photo][owner]}'
";
$Fary['method'] = 'fql.query';
$Fary['query'] = $fql;
$DataInfo = $Facebook->api($Fary);
}
catch (FacebookApiException $e) {
echo "* Facebook 執行錯誤訊息 : <br />";
echo "* Message: " . $e->getMessage() . "<br />";
}
$imgsrc = $DataInfo[0]['src_big'];
?>
<div>
<a class="fancybox" href="<?=$imgsrc?>">
<img src="<?=$imgsrc?>" style="max-width:400px; max-height:400px; margin:10px 2px;">
</a>
</div>
<?
}
?>