2012-02-13 2 views
0

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

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

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

Спасибо.

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

<?php 

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

?> 

<?php 

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

где вы регистрируете пользователя и предоставляете ли вы доступ к вашему аккаунту для доступа к вашему аккаунту? – chesles

+0

Нигде. Я просто получаю идентификатор пользователя ... Таким образом, похоже, что проверка подлинности является проблемой ... это объясняет это. –

+0

Да, это ваша проблема. Посмотрите ответ @ mazzucci или документы SDK для примера. – chesles

ответ

0

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

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

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

Если $ идент 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/

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

Смежные вопросы