Отображение изображений из фотоальбомов Facebook на сайте портфолио с помощью graph api


Моя клиентка хотела бы иметь возможность обновлять галереи изображений своего сайта, добавляя изображения в альбомы на своем аккаунте facebook. Возможно ли это с помощью JSON? нужно ли публиковать альбомы, которые она выбрала для показа? Спасибо за любую помощь в этом!

2 2

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", чтобы получить фотографии на стене...