2013-12-18 2 views
0

У меня есть страница входа в систему Facebook example.com/login-fb, она должна обрабатывать основного пользователя Facebook, который зарегистрировался, не зарегистрировался и не распечатал информацию, если таковой имеется. Войти ссылка генерирует штраф, если я нажимаю, он идет хорошо до Facebook и возвращается к этому же сценарию с $ _GET parameeter а - я получаю что-то вроде этогоВход в Facebook с PHP SDK, getUser() возвращает 0 в обратном вызове

example.com/login-fb/?code=AQDgxX7dkmddbaWZbTCfLf063g0aNRuHJG71pTuCmsdXTlQX9JYe1wmPl94KcFG2BkPFjgkAZ8k0_gFcECUINJ59qbOVH9J5AKHVZP5mxQ7K25qPNQW2VHEbe80uhbrHD0QB9QeP8WSr8EdnM3ocadEVqrgXAXTRu2_Q8jBYZpBZp7MrZyg9K9BhCJEiC0xnp9a-mwyMoYtpZKxhjtEAiDwJvcZgUjftRKK-0091aECRozV5gdOSdPrqKBZhsmn5sHsjbOx1zB4z8gj2LGTxQzdaRez3Jxknn6A8wpZp70jilycIdfCBA8c_b35XOg93FTM&state=8e633d68644595d174ad01d0b7aed365#_=_

Однако $ facebook-> GetUser() ; всегда 0, поэтому он по-прежнему показывает ссылку LOGIN вместо ссылки выхода и информации пользователя. любая помощь ?

КОД: (с использованием Facebook PHP SDK (v.3.2.3))

<?php 
    //Already REQUIRED: FB-SDK, MyFacebook class, home_url() and the_print_r() 

    $facebook = new MyFacebook(); 
    $fb_params = array(
    'scope' => 'email', 
    'redirect_uri' => home_url().'/login-fb' 
); 

    $loginUrl = $facebook->getLoginUrl($fb_params); 
    $logoutUrl = $facebook->getLogoutUrl(); 
    $user = $facebook->getUser(); 

    ?> 

    <?php the_print_r($user); ?> 

    <?php if ($user) { ?> 
     Your user profile is 
     <?php $user_profile = $facebook->api('/me'); ?> 
     <?php print htmlspecialchars(print_r($user_profile, true)) ?> 
     LOGOUT:<br><a href="<?php echo $logoutUrl; ?>"><?php echo $logoutUrl; ?></a> 
    <?php } else { ?> 
     LOGIN:<br><a href="<?php echo $loginUrl; ?>"><?php echo $loginUrl; ?></a> 
    <?php } ?> 

РЕШИТЬ:

Наконец, я задавался вопросом, почему это Пример origanl Facebook SDK работает - и я нашел вне - МОЙ КОД БЫЛ ИЗВЕСТНЫМ! - это была проблема с обработкой URL-адресов - код login-fb /? был неверно истолкован, поэтому не было $ _GET ['code']! - просто просто вызовите скрипт с расширением - login-fb.php - и проблема решена! ...

+0

Кто-нибудь? Я готов предоставить дополнительную информацию inf необходимой :)! –

+0

выглядит вполне корректно для меня ... Вы попробовали с простым завитом? Это может быть функция getUser(). Я забыл, как это работает в библиотеке PHP SDK. Вы можете распечатать токен доступа после получения кода, или он не заходит так далеко? – tattvamasi

+0

это была глупая ошибка перезаписи url: x –

ответ

2

У меня была эта проблема и я поцарапал себе голову на день. Наконец, эта проблема была решена путем обновления каталога lib/facebook с текущим sdk v 3.2.3 на момент написания этого сообщения.

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