2013-09-07 3 views
0

Я прочитал о связи facebook opengraph - насколько я понял, процедура Логин производится в течение 3-х этапов:Facebook график Войти - сайт интеграции, не удалось получить маркер

  1. Получить URL входа из facebook API вызовов для создания кнопки пользовательского входа После нажатия на ссылку, мы перенаправлены на страницу facebook входа

  2. Do фактический логин и попадаю на сайт мы определили на странице приложения разработчиков facebook

  3. На этой странице мы имеем дело с фактическим результатом. Здесь возникает проблема: я понял, что нам нужно использовать токен и сделать новый запрос на страницу fb, чтобы проверить токен (см. Ниже).

После этого я предполагаю, что мы получаем фактические данные пользователя, но мне никогда не удается выполнить этот токен-запрос, и поэтому я не уверен, как действовать.

$ch = curl_init("http://graph.facebook.com/oauth/access_token? client_id=".$facebook_config['appId']."  
                  &client_secret=".$facebook_config['secret']." 
                  &redirect_uri=".urlencode(SITE_DOMAIN)."/facebook_login_processor.php 
                  &code=".$_GET['code']); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_NOSIGNAL, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 30000); 
$data = curl_exec($ch); 
$curl_errno = curl_errno($ch); 
$curl_error = curl_error($ch); 
curl_close($ch); 

if ($curl_errno > 0) 
{ 
    echo "cURL Error ($curl_errno): $curl_error\n"; 
} 
else 
{ 
    echo $data; 
} 

Я получаю сообщение об ошибке относительно redirect_uri - как-то оно не становится подтверждено.

{"error":{"message":"Missing redirect_uri parameter.","type":"OAuthException","code":191}} 

Имейте в виду, что я пытаюсь это на не общедоступном сайте (домен зарегестрирована только на сервере и в моих файл хостов). Это накладывает проблему?

Я признателен за любую помощь и благодарю вас за внимание и помощь

Ricardo

Ps .: жаль любые ошибки - я по телефону

+1

Возможный дубликат [Facebook API error 191] (http://stackoverflow.com/questions/4691782/facebook-api-error-191) – CBroe

+0

Спасибо, посмотрим! :) – Consolas

+0

Проблема была в другом месте, но ваш ответ помог мне с этим. Я ценю вашу заботу, большое спасибо еще раз CBroe – Consolas

ответ

1

на основе facebook PHP SDK, то сценарий ниже просто хорошо работает на моем сайте.

 
    <?php 
    require_once "lib/facebook.php"; 

    $scope = "create_note,email friends_groups,friends_interests"; 
    $redirecturl = "https://www.mysite.com/callback.php"; 

    $facebook = new Facebook(array('appId' => APP_ID,'secret' => APP_SECRET)); 
    $authurl = $facebook->getLoginUrl(array('scope' => $scope, 'redirect_uri' => $redirecturl); 

    header("Location:$authurl"); 

    ?> 

затем на callback.php

 
    <?php 
    require_once "lib/facebook.php"; 

    $facebook = new Facebook(array('appId' => APP_ID,'secret' => APP_SECRET)); 
    $user = $facebook->getUser(); 
    if ($user) { 
     try { 
     $user_profile = $facebook->api('/me'); 
     } catch (FacebookApiException $e) { 
     error_log($e); 
     $user = null; 
     } 

     if (!empty($user_profile)) { 
     print_r($user_profile); 
     // or do something here 
     } 
    } 
    ?> 

Примечание: Вы должны определить APP_ID и APP_SECRET.

+0

Эй, приятель. Большое спасибо за Вашу помощь. Мне уже удается получить доступ к логину - у меня проблемы с совместным использованием и симпатией :). Тем не менее, я ценю вашу помощь и время, чтобы ответить на это !! :) – Consolas

+0

Я работаю с fb api в настоящее время. Если вы хотите узнать, как я применил PHP SDK на веб-сайте, посмотрите пример на emunu.com. Если вам нужна помощь, я бы хотел помочь. – wpsidi

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