it-swarm.com.ru

Как я могу отобразить изображение профиля пользователя, используя api facebook graph?

Я хотел бы отобразить изображение профиля пользователя на странице холста моего приложения. Есть ли способ сделать это с помощью графика API?

Я знаю, что могу сделать это с помощью FBML, но я также хотел бы передать изображение профиля во флеш-игру, которую я делаю, поэтому мне нужно было бы получить изображение профиля из API и отправить его как переменную, вот код, который я до сих пор,

$facebook = new Facebook(array(
    'appId'  => FACEBOOK_APP_ID,
    'secret' => FACEBOOK_SECRET_KEY,
    'cookie' => true,
    'domain' => 'myurl/facebook-test'
));

$session = $facebook->getSession();

        $uid = $facebook->getUser();
        $me = $facebook->api('/me');

        $updated = date("l, F j, Y", strtotime($me['updated_time']));

        echo "Hello " . $me['name'] . $me['picture'] . "<br />";
  echo "<div style=\"background:url(images/bg.jpg); width:760px; height:630px;\">" . "You last updated your profile on " . $updated . "</div>" . "<br /> your uid is" . $uid;

$me['picture'], похоже, не работает, но я все еще очень плохо знаком с графиком API, и я, вероятно, делаю несколько очень любительских ошибок!

70
Odyss3us

Зная идентификатор пользователя, URL для их изображения профиля: -

http://graph.facebook.com/[UID]/picture

где вместо [UID] вы размещаете переменную $ uid, и этот URL может быть передан во флэш-память

125
Raine

чтобы получить разные размеры, вы можете использовать параметр типа:

Вы можете указать желаемый размер изображения с аргументом type, который должен быть квадратным (50x50), маленьким (50 пикселей в ширину, с переменной высотой) и большим (около 200 пикселей в ширину, с переменной высотой): http : //graph.facebook.com/squall3d/picture тип = большой .

81
squall3d

Вы также можете изменить размер изображения профиля, указав параметры, как показано ниже.

https://graph.facebook.com/[UID]/picture?width=140&height=140

будет работать тоже.

22
Deepak Thomas
  //create the url
  $profile_pic =  "http://graph.facebook.com/".$uid."/picture";

 //echo the image out
 echo "<img src=\"" . $profile_pic . "\" />"; 

у меня работает нормально

7
Kannan Prasad

EDIT: Значит, Facebook снова изменил это! Больше не нужно искать по имени пользователя - изменили ответ ниже ...

https://graph.facebook.com/{{UID}}/picture?redirect=false&height=200&width=200
  • UID = профиль или идентификатор страницы
  • redirect либо возвращает json (false), либо перенаправляет на изображение (true)
  • высота и ширина урожая
  • не требует аутентификации

например https://graph.facebook.com/4/picture?redirect=false&height=200&width=2

Facebook График изображения документа

4
sidonaldson

Вот код, который работал для меня!

Предполагая, что у вас есть действующий сеанс,

//Get the current users id
$uid = $facebook->getUser();

//create the url
$profile_pic =  "http://graph.facebook.com/".$uid."/picture";

//echo the image out
echo "<img src=\"" . $profile_pic . "\" />";

Спасибо идет в Рейн, ты, да человек!

3
Odyss3us

Одна очень важная вещь заключается в том, что, как и в случае с другим API-запросом Graph, вы не получите данные JSON в ответ, скорее, вызов вернет HTTP REDIRECT на URL-адрес изображения профиля. Итак, если вы хотите получить URL, вам нужно либо прочитать HTTP-заголовок ответа, либо вы можете использовать FQL.

1
Sanket Sahu

У меня возникла проблема с загрузкой фотографий профиля во время использования CURL. Некоторое время я думал, что что-то не так с моей реализацией API Facebook, но мне нужно добавить немного в мой CURL под названием:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
1
adjwilli