2010-08-12 2 views
1

Я разрабатываю приложение iframe facebook с помощью API-интерфейсов New Graph API php sdk. Я использую базовый код для отображения моего имени. Но это не возвращает никакой ценности. Кто-нибудь, пожалуйста, помогите мне с этим.

<?php 

    include_once 'facebook.php'; 
    include_once 'config.php'; 

    $facebook = new Facebook(array('appId' => FACEBOOK_APP_ID, 
           'secret' => FACEBOOK_SECRET_KEY, 
           'cookie' => true,)); 

    $session = $facebook->getSession(); 
    $me = null; 

    if ($session) { 
    try { 
     $uid = $facebook->getUser(); 
     echo "Hello " . $uid . "<br />"; // This is displayed with my User Id 

     $me = $facebook->api('/me'); 
     echo "Hello " . $me['name'] . "<br />"; // This is not displayed. 

    } catch (FacebookApiException $e) { 
     error_log($e); 
    } 
    } 

if ($me) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
} else { 
    $loginUrl = $facebook->getLoginUrl(); 
} 

Почему мое имя не отображается?

Редактировать не 1

Если я использую пример кода, который поставляется с API facebook папку SDK зип New Graph, я получаю следующее сообщение об ошибке:

Fatal error: Uncaught CurlException: 6: 
Could not resolve host: graph.facebook.com; 
No data record of requested type thrown in 
C:\xampplite\htdocs\newtest\facebook.php on line 513 

, где линия не 513:

$e = new FacebookApiException(array(
    'error_code' => curl_errno($ch), 
    'error'  => array(
     'message' => curl_error($ch), 
     'type' => 'CurlException', 
    ), 
)); 

Пожалуйста, объясните мне, что не так. Я искал объяснение ошибки в google, но я не мог получить много информации. Какая ошибка я сделал?

+0

Вы проверили журнал ошибок? То есть сделал $ facebook-> api исключение? – VolkerK

+0

Нет, как я могу это проверить? Но сегодня я получаю значение самого сеанса как null. Я выполнил сброс переменной var моей переменной сеанса, и она отображается как NULL – Angeline

+0

Вы решили эту проблему ??? У меня такая же ошибка .. вы мне поможете? спасибо –

ответ

6

попробуйте написать следующий код в блоке try, где вы назвали это ($ me = $ facebook-> api ('/ me');) api.

Facebook :: $ CURL_OPTS [CURLOPT_SSL_VERIFYPEER] = false; Facebook :: $ CURL_OPTS [CURLOPT_SSL_VERIFYHOST] = 2;

+0

отлично, это сработало, спасибо: D: D: D –

+0

это сработало, но не могли бы вы рассказать мне, что делают эти две строки? – mack

1

давайте лавировать посмотрим на ошибки с помощью следующего сценария:

try { 
    $uid = $facebook->getUser(); 
    $fbme = $facebook->api('/me'); 
} catch (FacebookApiException $e) { 
    print_r($e); 
} 

Ошибка:

[error] => Array 
(
    [message] => Failed to connect to 66.220.147.27: Permission denied 
    [type] => CurlException 
) 

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

Обратите внимание, что вы также можете отключить брандмауэр, и все будет хорошо работать.

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