$ me = $ facebook-> api ('/ me') не возвращает никакого значения - PullRequest
1 голос
/ 12 августа 2010

Я занимаюсь разработкой приложения iframe для Facebook с помощью 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

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

 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, но я не мог получить много информации. Какую ошибку я сделал?

Ответы [ 2 ]

6 голосов
/ 07 января 2011

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

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

1 голос
/ 09 января 2011

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

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
)

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...