Как я могу отобразить фотографию профиля пользователя, используя 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 10 J0000006Europe/Moscow 2010, 12:48:52

8 ответов


0

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

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

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

ответил Raine 10 J0000006Europe/Moscow 2010, 13:00:01
0

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

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

ответил squall3d 13 PM000000120000003231 2010, 12:37:32
0

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

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

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

ответил Deepak Thomas 10 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 10 Sep 2012 19:25:51 +0400 2012, 19:25:51
0
  //create the url
  $profile_pic =  "http://graph.facebook.com/".$uid."/picture";

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

У меня отлично работает

ответил Kannan Prasad 12 Maypm11 2011, 12:53:19
0

РЕДАКТИРОВАТЬ . Итак, Facebook снова изменил его! Больше не нужно искать по имени пользователя - изменили ответ ниже ...

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

например. https://graph.facebook.com/4/picture ? перенаправлять = ложно & амп; высота = 200 & амп; ширина = 200

Документ с графическим изображением Facebook р>

ответил sidonaldson 4 FebruaryEurope/MoscowbWed, 04 Feb 2015 19:07:55 +0300000000pmWed, 04 Feb 2015 19:07:55 +030015 2015, 19:07:55
0

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

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

//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 . "\" />";

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

ответил Odyss3us 10 J0000006Europe/Moscow 2010, 14:17:36
0

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

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
ответил adjwilli 18 AM00000020000004631 2011, 02:15:46
0

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

ответил Sanket Sahu 27 +04002012-10-27T13:48:38+04:00312012bEurope/MoscowSat, 27 Oct 2012 13:48:38 +0400 2012, 13:48:38

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132