Как отобразить фотографию профиля Facebook в моем проекте php - PullRequest
0 голосов
/ 28 января 2012

В моем проекте я вхожу с учетной записью Facebook, но на странице профиля отображается изображение с сайта gravatar.com.Я хочу отобразить изображение профиля с www.facebook.com зарегистрированных пользователей.В моей локальной системе у меня есть следующий код для отображения фотографии профиля с www.gravatar.com

public function gravatar($email, $s = 80, $d = 'mm', $r = 'g', $img = FALSE, $atts = array())
{
    $url = 'https://secure.gravatar.com/avatar/'
        . md5(strtolower(trim( $email)))
        . "?s=$s&d=$d&r=$r";

    if ($img)
    {
        $url = '<img src="' . $url . '"';
        foreach ($atts as $key => $val)
        {
            $url .= ' ' . $key . '="' . $val . '"';
        }
        $url .= ' />';
    }
    return $url;
}

Как можно отобразить фотографию профиля Facebook вместо фотографии профиля gravatar.com?

Ответы [ 3 ]

1 голос
/ 28 января 2012

Вы можете сослаться на https://graph.facebook.com/usernameOrId/picture.

0 голосов
/ 28 января 2012

Если вы используете PHP SDK, вы можете получить userId текущего пользователя, вошедшего в систему USer, и отобразить изображение пользователя.

Вы можете сделать так:

require_once 'path/to/facebookSDK.php';

$facebook = new Facebook(array(
       'appId'  => 'YOUR_APP_ID',
       'secret' => 'YOUR_APP_SECRET',
));

// Get User ID
$user = $facebook->getUser();

//this will ouptput your current logged in user facebook image
echo getFacebookPhotoAvatar ($user);

function getFacebookPhotoAvatar ($user) {
      if($user) {
            $photoUrl = "https://graph.facebook.com/".$user."/picture";
            $facebookPhoto = '<img src="'.$photoUrl.'" alt="FacebookUserImage"/>';
      } else {
            $facebookPhoto = '';
      }

      return $facebookPhoto ;
}

Надеюсь, это поможет:)

0 голосов
/ 28 января 2012

Примерно так:

function facebookAvatar($uid, $img = FALSE, $atts = array())
{
    $url = 'https://graph.facebook.com/'.trim($uid).'/picture';

    if ($img)
    {   
        $url = '<img src="' . $url . '"';
        foreach ($atts as $key => $val)
        {
            $url .= ' ' . $key . '="' . $val . '"';
        }
        $url .= ' />';
    }
    return $url;
}

и для получения изображения используйте:

<?php echo facebookAvatar('UsernameOrUserID', TRUE, array('width'=>'80px', 'height'=>'80px')); ?>

UsernameOrUserID вы должны изменить на UserID:

1234321

, если URL:

http://facebook.com/profile.php?id=1234321

или имя пользователя:

my.name

, если URL-адрес facebook http://facebook.com/my.name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...