Facebook Graph API не даст мне данные изображения

Используя PHP 5.2.11 и новый графический код facebook

Если я позвоню

$ Facebook-> апи ( "/ меня");

Я получаю правильный ответ:

array 'id' => string '10700210' (length=8) 'name' => string 'Brandon Renfrow' (length=19) 'first_name' => string 'Brandon' (length=7) 'middle_name' => string '✫' (length=3) 'last_name' => string 'Renfrow' (length=7) 'link' => string 'http://www.facebook.com/brenfrow' (length=32) 'about' => string 'Spiritual birthday: 1/22/2005' (length=29) ... ... 

Но если я позвоню

 $facebook->api("/me/picture"); 

Я всегда получаю ответ:

 null 

Кто-нибудь знает, почему это?

Ну, я думаю, лучший ответ, который я нашел, – вызвать http://graph.facebook.com/USER_ID?fields=picture, чтобы получить URL изображения. Плохо они не документируют такие вещи на своем API, особенно когда это очевидно для многих людей.

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

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

Возможно, вам даже не придется выполнять вызов API … используйте это в своем интерфейсе:

 <img src="//graph.facebook.com/USER_ID/picture?type=square" /> 

Подробнее здесь: http://developers.facebook.com/docs/reference/api/#pictures

Существует еще более простой способ, используя предоставленную facebook api, просто позвоните:

$facebook->api("/me?fields=picture");

Это сделает ваш код более простым и элегантным.

При использовании $ facebook-> api ("/ me? Fields = picture"); работает, вы не сможете передавать такие параметры, как ширина или тип. Вместо этого попробуйте следующее:

 $facebook->api('/me/picture?redirect=false'); 

Это сработало для меня, а также позволит вам передавать параметры.

Я просто пошел в свой «/ me / picture» в браузере и перенаправил меня на статичное изображение на одном из CDN-серверов Facebook. Возможно, перенаправление бросает ключ в ваш апи-вызов.