Не получает идентификатор пользователя Facebook - PullRequest
0 голосов
/ 14 февраля 2012

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

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

AmМне не хватает расширенных разрешений для этого?Это все, что у меня есть, чтобы получить идентификатор пользователя.

Спасибо.

<?php include ('includes/php/facebook.php'); ?>

<?php

$facebook = new Facebook(array(
  'appId' => 'XXXXXXXXXXXXXXXXX',
  'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX',
));

?>

<?php

    $user = $facebook->getUser();
    $userId = $user;
    //some code here...
?>

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

Если $ userID равен 0 или пусто, это означает, что пользователь не аутентифицирован.

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

// We may or may not have this data based on whether the user is logged in.
//
// If we have a $user id here, it means we know the user is logged into
// Facebook, but we don't know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me/accounts');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

// Login or logout url will be needed depending on current user state.
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl(array("domain" => 'www.myurl.com'));
} else {
  $loginUrl = $facebook->getLoginUrl(array("scope" => 'publish_stream,offline_access,manage_pages'));
}

Вы можете загрузить SDK с http://developers.facebook.com/docs/reference/php/

. Содержит несколько примеров.

0 голосов
/ 14 февраля 2012

http://developers.facebook.com/docs/authentication/

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

https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream
...