[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>
    <?
    }
?>

發表迴響