Внесены изменения в приложение для новой версии facebook PHP SDK - PullRequest
0 голосов
/ 29 декабря 2011

Мы используем старую версию Facebook connect PHP SDK, какие изменения нам нужно сделать, чтобы приложение работало с новыми изменениями (в настоящее время приложение не работает из-за изменений версии приложения FB)

Ответы [ 2 ]

1 голос
/ 29 декабря 2011

Обновите PHP SDK , требуется изменить соединение, getSession() больше не доступно, вместо этого используйте getUser().Также, если вы используете слишком старый PHP SDK (до Graph API), вам, возможно, придется обновить некоторые функции вызова API.

Общее соединение выглядит следующим образом:

$facebook = new Facebook(array(
  'appId'  => '111111111',// your appId here
  'secret' => '1a1a1a1a1a1a1',// your app secret here
));


$user = $facebook->getUser();

if ($user) {
  try {
    $user_profile = $facebook->api('/me');

  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();



} else {
  $loginUrl = $facebook->getLoginUrl();
    echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
    exit;
}
0 голосов
/ 30 декабря 2011

Краткий ответ : поток аутентификации и устаревание API REST

Длинный ответ : с версии 2.1 произошли два основных изменения. Вам нужно пройти через блог разработчика Facebook , чтобы получить четкое представление об изменениях.

Некоторые ссылки на объявления ниже:

  1. Обновление для разработчиков: переход на OAuth 2.0 + HTTPS
  2. Обновление до PHP SDK v3.0.0
  3. Обновление до OAuth 2.0: PHP SDK v.3.1.1

Новый поток входа с использованием PHP SDK выглядит следующим образом:

$facebook = new Facebook(…);
$user = $facebook->getUser();
if ($user) {
  // proceed knowing you have a logged in user who's authenticated
} else {
  // proceed knowing you require user login and/or authentication
}

Если вы храните сеансовые ключи в данный момент, они больше не будут работать. Вам нужно будет перейти на использование токенов доступа oauth. Эта ссылка SO обсуждает этот процесс: Преобразование сеансовых ключей Facebook для доступа к токенам

Кроме того, если у вас приложение Canvas, использующее устаревшую аутентификацию, вам необходимо внести изменения, как описано на этой странице: Миграция на OAuth 2.0

...