2013-07-23 1 views
6

У меня проблема при входе в систему Я не могу получить электронную почту даже при добавлении электронной почты пользователю & Разрешения для друга (для некоторых учетных записей на facebook).Не получать электронную почту от API facebook при входе в систему

я использую facebook-PHP-SDK, это код, который им с помощью

$facebook_user_profile = $facebook->api('/me', array('fields' => 'id,email,first_name,last_name,picture'));

пожалуйста, может ли один сохранить мой день?

+2

Права, заданные в панели приложений, предназначены для прямого доступа только из центра приложения. Если вы входите в систему самостоятельно, вам нужно запросить разрешения с помощью параметра «scope». https://developers.facebook.com/docs/reference/php/facebook-getLoginUrl/ – CBroe

+0

thx для ссылки, которую я использую сейчас 'Facebook :: getLoginUrl' и запрашиваю разрешение электронной почты с областью действия. –

ответ

9

Помимо того, что CBroe прокомментировал запрос разрешений с использованием параметра «scope» во время входа в систему, чтобы захватить permissions, вы также должны учитывать тот факт, что не каждый зарегистрированный пользователь (или пользователь, позволяющий вашему приложению получать доступ к своей информации) имеет адрес электронной почты, присвоенный их учетной записи.

можно проверить свои учетные записи в facebook, используя их мобильные номера, следовательно, вероятность того, что никакое письмо не существует. Поэтому при разработке приложения учитывайте, если у пользователя нет электронной почты, тогда вы должны запросить его вручную через форму после входа в систему (это означает, что для пользователей необходимо использовать электронную почту).

надеюсь, что эта информация поможет!

+1

На самом деле да, приложение, которое я разрабатываю, требует электронной почты, но я должен принять во внимание ваше разъяснение о том, что пользователи не разрешают доступ к своей информации, а пользователи не имеют электронной почты. –

+0

рад, что я смог помочь – Amjo

+0

@Amjo Я следую http://www.krizna.com/general/login-with-facebook-using-php/. не могли бы вы рассказать мне, где включить функцию FB.login() после загрузки исходного кода? – partho

0

Проблема возникает, когда вы сделали учетную запись Facebook с адресом электронной почты и не подтвердили письмо, которое будет использоваться Facebook. Как только вы согласитесь с вашей электронной почтой, логин Facebook вернет адрес электронной почты.

Надеюсь, что это решает проблему.

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

  • Нет связанных вопросов^_^