我正在尝试抓取张贴在此页面墙上的照片。 以下是我的代码:
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');
}
}
我能够抓住那张图片的缩略图。我想问一下如何抓取实际的照片来源而不是缩略图。
请指教。谢谢!
答案 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
这不是一种非常理想的思维方式。 如果有更好更有效的方法,请告诉我。
谢谢!