it-swarm.com.ru

Facebook, как получить фактический URL фотографии с помощью Graph API?

Можно получить фактический URL-адрес изображения Facebook с помощью API Graph.

Например, для фотографии ниже http://www.facebook.com/photo.php?fbid=357755307655174

фактический URL-адрес: https://fbcdn-sphotos-a-a.akamaihd.net/hphotos-ak-ash4/252428_530045532341_5136_n.jpg

Есть ли какой-нибудь способ для достижения этой цели?

13
SatheeshJM

Есть ли какой-нибудь способ для достижения этой цели?

Поэтому вам нужно посмотреть на поле source объекта photo :

источник:

Исходное изображение фотографии - в настоящее время она может иметь максимальную ширину или высоту 720px, увеличиваясь до 960px 1 марта 2012 года

строка, представляющая действительный URL

Это даст вам исходный размер фотографии, загруженной для изображений меньшего размера, или увеличенной до макс. 960 пикселей в каждом направлении.

Для больших размеров вам нужно проверить поле images:

изображений:

4 различных сохраненных представления фотографии 

массив объектов, содержащий высоту, ширину и исходные поля

Это «обещает» предоставить гораздо большие размеры (например, 2048 × 1417 пикселей), но имейте в виду, что эти записи будут по-прежнему предоставлять изображение меньшего размера, если исходное изображение было не таким большим, как запрошено.

9
CBroe

По умолчанию не все поля в узле или крае возвращаются при использовании сделать запрос. Вы можете выбрать поля или ребра, которые вы хотите возвращается с параметром запроса fields.

Вот почему, когда вы получаете фотографию, вы можете получить только created_time, name и id.

Поле source устарело в последнем API (v2.8). Вместо этого используйте images.

Так что ваш запрос может выглядеть так:

GET graph.facebook.com/{photo-id}?fields=images

Ответ должен быть таким:

{

"images":[
    {
        "height":358,
        "source":"https://scontent.xx.fbcdn.net/v/t1.0-9/15327427_585435148333529_xxxxxxxxxxxx_n.jpg?oh=xxxxxxxx&oe=xxxxxxxxx",
        "width":518
    },
    {
        "height":320,
        "source":"https://fb-s-c-a.akamaihd.net/h-ak-xtl1/v/t1.0-0/p320x320/15327427_xxxxxxxxxxxxxx_n.jpg?oh=xxxxxxxxxx&oe=xxxx&__gda__=xxxxxxxxxxxx",
        "width":463
    },
    {
        "height":130,
        "source":"https://fb-s-c-a.akamaihd.net/h-ak-xtl1/v/t1.0-0/p130x130/15327427_xxxxxxxxxxxxxx_n.jpg?oh=xxxxxxxxxxx&oe=xxx&__gda__=xxxxxxxxxxxxxxxxxx",
        "width":188
    },
    {
        "height":225,
        "source":"https://fb-s-c-a.akamaihd.net/h-ak-xtl1/v/t1.0-0/p75x225/15327427_xxxxxxxxxxxxxxx_n.jpg?oh=xxxxxxxxxxxxxxxxx&oe=xxxxxxxxxxxxxxxxxx&__gda__=xxxxxxxxxxxxxxxxxx",
        "width":325
    }
],
"id":"585435148333529"

}
13
Hieu

Кажется, для этого не хватает документации. Это может быть просто достигнуто таким способом. В этом URL http://www.facebook.com/photo.php?fbid=357755307655174 , уберите идентификатор изображения, представленного fbid. В приведенном выше случае это 357755307655174. Теперь сделайте запрос API api к этому объекту https://graph.facebook.com/357755307655174 . Это вернет JSON со всеми соотношениями сторон в их базе данных и их фактическими URL. Каждое поле данных в следующем формате

{
      "height": 1080, 
      "source": "https://scontent-a.xx.fbcdn.net/hphotos-xpf1/t31.0-8/10296099_566697856780203_6555830953677139074_o.jpg", 
      "width": 1980
}

Используйте Graph Explorer, чтобы еще раз проверить формат возвращаемых данных JSON. Источник - это то, что вы ищете.

2
Chakradhar Reddy Veeramreddy

Запросите поле вложения, где вы найдете оригинальное изображение.

&fields=picture.type(large),attachments
2
Teson