Изменение API графиков Google: тип изображения (размер) больше не работает?

Согласно документации Facebook Graph API ( здесь ), вы можете получить доступ к различным размерам изображения профиля пользователя с помощью URL-адресов, таких как:

https://graph.facebook.com/(userid)/picture?type=small https://graph.facebook.com/(userid)/picture?type=large 

Вы заметите, что первый разрешает URL-адрес, заканчивающийся на _t.jpg (маленькое эскиз), а второй заканчивается на _n.jpg (большое изображение). Все идет нормально. Эквивалентно, мы должны иметь возможность запрашивать эти изображения следующим образом:

 https://graph.facebook.com/(userid)?fields=picture&type=small https://graph.facebook.com/(userid)?fields=picture&type=large 

Этот последний формат работал так, как ожидалось, в течение многих месяцев, пока только несколько дней назад, когда он внезапно начал игнорировать параметр «type» целиком – все теперь решает изображение, заканчивающееся на _q.jpg, которое является значением по умолчанию, если «тип» не является указано. В результате я больше не могу найти способ запроса большого изображения в PHP (моя настоящая проблема). Он работал так:

 $pic = $facebook->api('/me', array('fields' => 'picture', 'type' => 'large')); 

… но, как описано выше, «тип» спонтанно начал игнорироваться. Я провел несколько часов, прочесывая их документацию, но не смог найти ссылку на то, что изменилось, или «новый» способ, которым это должно быть сделано – любые указатели были бы чрезвычайно оценены …

РЕДАКТИРОВАТЬ:

Ни одна из следующих работ не работает (ничего не возвращает):

 $pic = $facebook->api('/me/picture', array('type' => 'large')); $pic = $facebook->api('/(my_uid)/picture', array('type' => 'large')); $pic = $facebook->api('/me/picture/?type=large'); $pic = $facebook->api('/(my_uid)/picture/?type=large'); 

В принципе, поскольку Facebook сломал вещи несколько дней назад, похоже, нет никакого способа получить размер изображения, отличного от стандартного, от PHP. Вы сами можете попробовать некоторые из вызовов из API-интерфейса Graph API ( здесь ).

Другие связанные / релевантные ссылки:

 http://stackoverflow.com/questions/2978761/facebook-graph-api-will-not-give-me-picture-data http://stackoverflow.com/questions/7718704/requesting-picture-for-event 

Solutions Collecting From Web of "Изменение API графиков Google: тип изображения (размер) больше не работает?"

Вы должны запросить API с синтаксисом field_expansion

Эти запросы api работают:

$results = $facebook->api('/me', array('fields' => 'picture.height(300).width(300)'));

$results = $facebook->api('/me', array('fields' => 'picture.type(large)'));

Как описано в этой ошибке на Facebook, вы можете запросить это через новый синтаксис расширения поля API.

Это работает для меня:

 https://graph.facebook.com/____OBJECT_ID____?fields=picture.type(large) 

Я нашел обходное решение – изображения профиля различных размеров могут быть доступны через запрос FQL:

 $pic = $facebook->api(array('method'=>'fql.query', 'query'=>"SELECT pic_big FROM user WHERE uid=$fb_uid")); 

(«pic_big» эквивалентно «type = large» – см. здесь ).

Это все еще не объясняет, почему вызов GRAPH внезапно сломался, или почему размеры изображений, кажется, не доступны через Graph вообще (что я все еще хотел бы знать) … но по крайней мере есть какой-то способ получить фотографии других размеров.

Должен любить Facebook и их первоклассную надежность …