Информация о текущем пользователе в фейсбуке - PullRequest
1 голос
/ 05 января 2012

Я пытаюсь получить идентификатор пользователя Facebook тех пользователей, которые в данный момент вошли в систему. Я использовал этот фрагмент кода и получил ошибку "Uncaught OAuthException: активный маркер доступа должен использоваться для запроса информации о текущем пользователе"

require '../src/facebook.php';
$facebook = new Facebook(array(
  'appId'  => '226668060741665',
  'secret' => 'secret key',
));

$rr=$facebook->getAccessToken();

$params = array(
'access_token' => $rr,
'installed' => 'true',
'permissions' => 'read_stream,publish_stream'
);
$eded=$facebook->api("/me/", "GET", $params);

Я пытался использовать Facebook::getLoginStatusUrl(), но не получил того, что вернул.Если я могу использовать вышеуказанную функцию, пожалуйста, скажите мне, как получить идентификатор текущего пользователя, вошедшего в систему, и Как я могу использовать возвращаемое значение Facebook::getLoginStatusUrl()

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 11 апреля 2012

Выполните следующие действия:

  1. Вы создаете URL: $next_url = $facebook->getLoginStatusUrl();
  2. , перенаправьте пользователя на этот URL: header('Location: '.$next_url);
  3. , пользователь будетвозвращенный FB с информацией о сеансе о состоянии входа в систему
  4. SDK проанализирует возвращенную информацию
  5. , используя $facebook->getUser();, чтобы получить access_token и идентификатор пользователя (если вошел в систему)

Пока все хорошо.Единственная проблема в том, что эта функция (пункт 4) не работает с момента перехода к oAuth2.0 через API Facebook, см. Также этот отчет об ошибке: http://developers.facebook.com/bugs/295348980494364

Возвращенный $ _GET ['session'] бесполезен в новом oAuth2.0 SDK, он использовался в старом PHP-SDK v2 (текущий 3.1.1).

Поэтому, пожалуйста, сообщите FB, что у вас возникла та же проблема, добавив репродукцию.

Ура!

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

Вы должны использовать последние PHP-SDK и читать документацию, которая показывает, как именно аутентифицировать пользователя и получить его данные .

Точный ответ вам нужен уже в примерах PHP-SDK

Вы также можете обратиться к вопросу Получить ID из Facebook PHP SDK , в котором тоже есть ответ на ваш вопрос.

...