проблема с подключением к фейсбуку

Я боролся с подключением к facebook в течение нескольких дней, я использую только PHP SDK, загруженный из facebook.

Сначала я использовал некоторый пользовательский код, но после этого я просто скопировал код на facebook., но это все равно не удается.

Есть ли что-то, что я делаю неправильно? Я создал приложение на facebook, добавил правильный домен (я правильно перенаправляюсь). Когда люди входят в систему, это URL-адрес, на который они перенаправляются:

http://www.mysite.com/index.php?state=33e35654a84559d246c152ed10e8150b&code=AQBGxCMu4vgbw5HgU8EIoyq8rhuHaKvtJQR-VbPMVH8bd2JMIRcxojqJ-l7XrjIdG9TNN05el14Jv8isbHbUWj9so-CdhaEqj7tLR-Rj6-JaOTA7QErrpfN_0XQN1CGCmvmTL6ZtoUupgkVwkzq_CWDT9lSoDPvNHu2F67Jqlsi2DfQZGE1J7pDzujBoSoJhDhs#_=_

Код, который я скопировал из facebook:

 <?
  // Remember to copy files from the SDK's src/ directory to a
  // directory in your application on the server, such as php-sdk/
  require_once('classes/facebook/facebook.php');

  $config = array(
    'appId' => 'appID here',
    'secret' => 'secret here',
  );

  $facebook = new Facebook($config);
  $user_id = $facebook->getUser();
?>
<html>
  <head></head>
  <body>

  <?
    if($user_id) {

      // We have a user ID, so probably a logged in user.
      // If not, we'll get an exception, which we handle below.
      try {

        $user_profile = $facebook->api('/me','GET');
        echo "Name: " . $user_profile['name'];

      } catch(FacebookApiException $e) {
        // If the user is logged out, you can have a 
        // user ID even though the access token is invalid.
        // In this case, we'll get an exception, so we'll
        // just ask the user to login again here.
        $login_url = $facebook->getLoginUrl(); 
        echo 'Please <a href="' . $login_url . '">login.</a>';
        error_log($e->getType());
        error_log($e->getMessage());
      }   
    } else {

      // No user, print a link for the user to login
      $login_url = $facebook->getLoginUrl();
      echo 'Please <a href="' . $login_url . '">login.</a>';

    }

  ?>

  </body>
</html>

person woutr_be    schedule 17.10.2011    source источник
comment
Какой вопрос? Вы получаете конкретную ошибку? Что вы хотите сделать, что он не делает?   -  person Tyler Ferraro    schedule 17.10.2011
comment
Извините, может быть, я был немного неясен. Я не получаю никаких ошибок, я просто хочу, чтобы пользователи могли войти в Facebook. $user_id должен возвращать идентификатор facebook пользователя после успешного входа в систему, но $user_id просто продолжает возвращать 0, поэтому ничего не происходит   -  person woutr_be    schedule 17.10.2011
comment
Оказывается, это как-то связано с сертификатом, после некоторого осмотра я обнаружил, что замена if (curl_errno($ch) == 60) { // CURLE_SSL_CACERT на if (curl_errno($ch) == 60 || curl_errno ($ch) == 77) { // CURLE_SSL_CACERT решает проблему   -  person woutr_be    schedule 17.10.2011


Ответы (1)


Оказывается, это как-то связано с сертификатом, после некоторого осмотра я обнаружил, что изменение

if (curl_errno($ch) == 60) { 
      // CURLE_SSL_CACERT 

to

if (curl_errno($ch) == 60 || curl_errno($ch) == 77) { 
      // CURLE_SSL_CACERT 

решает проблему

person woutr_be    schedule 31.01.2012
comment
Если вы хотите очистить свой код (магические числа), проверьте: php.net /manual/en/curl.constants.php - person colithium; 07.02.2012