Отображение изображений из фотоальбомов Facebook на сайте портфолио с помощью graph api
Моя клиентка хотела бы иметь возможность обновлять галереи изображений своего сайта, добавляя изображения в альбомы на своем аккаунте facebook. Возможно ли это с помощью JSON? нужно ли публиковать альбомы, которые она выбрала для показа? Спасибо за любую помощь в этом!
2 ответа:
Это определенно возможно с помощью graph api:
Получите ID всех ее альбомов - выберите тот, который вы хотите:
Https://graph.facebook.com/me/albums/
Доступ к альбому:
Https://graph.facebook.com/ALBUM_ID/photos
Вам нужно разрешение user_photos, и альбом должен быть общедоступным.
Это возвращает вам список всех фотографий в следующей форме JSON:
{ "id": "104988432890979", "from": { "name": "Patrick Snape", "id": "100001394674670" }, "picture": "http://photos-f.ak.fbcdn.net/hphotos-ak-snc4/hs272.snc4/39934_104988432890979_100001394674670_46790_6171664_s.jpg", "source": "http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs272.snc4/39934_104988432890979_100001394674670_46790_6171664_n.jpg", "height": 540, "width": 720, "link": "http://www.facebook.com/photo.php?pid=46790&id=100001394674670", "icon": "http://static.ak.fbcdn.net/rsrc.php/z2E5Y/hash/8as8iqdm.gif", "created_time": "2010-08-11T10:32:45+0000", "updated_time": "2010-08-11T10:32:47+0000" } }
Затем вы можете использовать источник фотография для получения полноразмерного изображения
Https://graph.facebook.com/USER_ID/albums/ вы получите 25 самых последних альбомов, и вы должны установить 'limit=0' в url-адресе как
Https://graph.facebook.com/USER_ID/albums/?limit=0 это даст вам все альбомы... а также убедитесь, что ваш альбом "настенные фотографии" настроен на публичное использование, иначе вам потребуется разрешение "user_photos".
Затем вам нужно получить идентификатор альбома с названием "настенные фотографии". и вы можете получить фотографии, используя этот альбом id
$wall_album_id=''; $url = "http://graph.facebook.com/me/albums?fields=id,name&limit=0"; $obj = json_decode(file_get_contents($url)); foreach($obj->data as $item) { if ($item->name == 'Wall Photos'){ $wall_album_id=$item->id; break; } }
Затем вы можете использовать альбом "$wall_album_id", чтобы получить фотографии на стене...