Я хочу получить текущую учетную запись пользователя facebook в php sdk. Вот что я пробовал:
$facebook = new \Facebook(array( 'appId' => 'XXXXXXXXXXX', 'secret' => 'XXXXXXXXXXXXXXXXXXXXX', )); $user = $facebook->getUser(); var_dump($user); if ($user) { $logoutUrl = $facebook->getLogoutUrl(); echo $logoutUrl; } else { $loginUrl = $facebook->getLoginUrl(); echo $loginUrl; }
Когда я загружаю страницу с указанным выше кодом, я получаю loginUrl, хотя я зарегистрирован в facebook. Только когда я загружаю $ loginUrl в браузере, я могу получить пользователя facebook.
Как получить текущий пользователь при первой загрузке этой страницы?
Я получаю loginUrl, хотя я зарегистрирован в facebook.
Конечно, вы делаете – вход в facebook.com – это нечто совершенно иное, чем вход в ваше приложение .
Только когда я загружаю $ loginUrl в браузере, я могу получить пользователя facebook.
Это потому, что после этого пользователь вошел в ваше приложение.
Как получить текущий пользователь при первой загрузке этой страницы?
Только для пользователей, которые подключились к вашему приложению уже в какой-то момент раньше, используя JavaScript SDK.
Похоже, вы хотите отобразить текущего пользователя, если он не одобрил ваше приложение, чтобы получить доступ к его информации.
Это невозможно. Зачем?
Если у вас уже есть токен доступа, вы не можете обойти шаг входа. Таким образом, вы должны использовать getLoginUrl()
.