У меня возникают проблемы с моим маленьким приложением facebook, я продолжаю получать эту ошибку friggin: «Неустранимая ошибка: вызов неопределенного метода Facebook :: require_login ()», теперь смешной бит в том, что мой точный код работает для других людей, но не для меня, вот код.
<?php require_once( "facebook-php-sdk/src/facebook.php" ); $api_key = "my_api_key"; $secret = "my_secret_key"; $facebook = new Facebook( $api_key, $secret ); $user_id = $facebook->require_login(); echo "Hello World"; echo "Current logged in as <fb:name uid=\"$user_id\" />"; ?>
Как вы можете видеть, это просто приложение приветствия USER, но почему-то это ОТКАЗЫВАЕТСЯ работать для меня, поэтому, если кто-то может помочь, это было бы здорово, чем раньше!
Используете ли вы новейшую версию PHP sdk ?
Facebook::require_login()
– это метод из старого SDK.
Новый SDK (опубликованный совместно с Graph API) не совместим с обратным интерфейсом.
Понятие о необходимости входа в систему больше не существует – вы просто получаете идентификатор пользователя как таковой.
$user_id = $facebook->getUser();
Попробуйте эту функцию:
function appInstance($fbconfig){ try{ include_once "facebook.php"; } catch(Exception $o){ echo '<pre>'; print_r($o); echo '</pre>'; } $facebook = new Facebook(array( 'appId' => $fbconfig['appid'], 'secret' => $fbconfig['secret'], 'cookie' => true, )); $session = $facebook->getSession(); $fbme = null; // Session based graph API call. if ($session) { try { $uid = $facebook->getUser(); $fbme = $facebook->api('/me'); } catch (FacebookApiException $e) { //d($e); //debug 'Facebook took too long to respond, try again in a few minutes.'; } } return $uid; return $fbme; return $facebook; }//end appInstance()
после того, как вы сделаете вызов этой функции, используйте $ fbme, чтобы вытащить любую информацию, полученную из ваших пермов, например $firstName=$fbme['first_name']
или $email=$fbme['email']
.
вопиющий ответ, тем не менее, вы находитесь в веб-домене, на котором вы зарегистрировали свое приложение на Facebook. если вы зарегистрировали xxxyy.com, вы можете использовать свое приложение только там.
Возможно, вы дважды проверили, что ваш домен, зарегистрированный в facebook, такой же, как и на сайте dev, на котором вы работаете? Наверное, есть, но ты получишь, если не обратишь внимание. В первый раз я пришел к выводу о миграции:]