Facebook API vrací pouze id a name
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- HonDem
- Člen | 30
Ahoj. Chtěl jsem se zeptat, jak je možné, že při zavolání $fb->api(‚/me‘) obsahuje výsledný ArrayHash pouze name a id? V configu mám
facebook:
appId: '***'
appSecret: '***'
permissions: [public_profile, email]
graphVersion: v2.4
a při přihlášení to uživatele skutečně požádá o přístup
k emailu a veřejnému info o profilu.
Potom v presenteru mám
$dialog->onResponse[] = function (\Kdyby\Facebook\Dialog\LoginDialog $dialog) {
$fb = $dialog->getFacebook();
if (!$fb->getUser()) {
$this->flashMessage("Authentication failed.");
return;
}
try {
$me = $fb->api('/me');
dump($me);
exit();
if(!$this->registerModel->userExists($fb->getUser())){
$this->registerModel->registerUserUsingFacebook($me); //Tady právě potřebuji, aby $me obsahoval taky email, křestní jméno, příjmení apod... Jak je možné, že neobsahuje?
}
$user = $this->registerModel->getUser($fb->getUser());
$this->user->login(new \Nette\Security\Identity($user->id, $user->roles, $user));
} catch (\Kdyby\Facebook\FacebookApiException $e) {
\Tracy\Debugger::log($e, 'facebook');
$this->flashMessage("Sorry bro, facebook authentication failed hard.");
}
Editoval HonDem (4. 8. 2015 13:03)