来自facebook墙的照片来源

时间:2011-03-09 01:04:43

标签: php facebook

我正在尝试抓取张贴在此页面墙上的照片。 以下是我的代码:

include_once 'facebook.php';
include_once 'config.php';
require 'DropboxUploader.php';

$feed = $facebook->api('/me/feed');
foreach($feed['data'] as $feeds)
{
        if(!$feeds["object_id"]==null)
        {
        echo "Feeds secion", "<br />";
        echo $feeds["picture"], "<br />";
        echo "<img src='{$feeds['picture']}' />", "<br />";
        //echo "This is feed object_id ".$feeds["object_id"], "<br />";
        echo "This is feed id ".$feeds["id"], "<br />";
        $target_path = "uploads/";
        $target_path = $target_path . basename($feeds["picture"]);

        $content = file_get_contents($feeds["source"]);
        file_put_contents($target_path, $content);

        $uploader = new DropboxUploader('testing@hotmail.com', 'testing');
        $uploader->upload($target_path, 'imageStore');

        }


}

我能够抓住那张图片的缩略图。我想问一下如何抓取实际的照片来源而不是缩略图。

请指教。谢谢!

1 个答案:

答案 0 :(得分:0)

经过一番尝试和检查,我想我无法从Facebook墙上抓取实际照片,因为它们都是预览缩略图。

我就此问题采取了另一种方法。 当照片张贴在墙上时,faceboook将自动创建(如果文件夹不存在)相册“Wall Photos”并将照片放入其中。 我使用这个理论来获取专辑ID和里面的所有照片。

$album = $facebook->api('/'.$app_id.'/albums');
foreach($album['data'] as $photo)
{
    if($photo['name']=="Wall Photos")
    {
        $image = $facebook->api('/'.$photo['id'].'/photos');
        photoGrab($image); //function
    }
}//each of $album foreach

这不是一种非常理想的思维方式。 如果有更好更有效的方法,请告诉我。

谢谢!