2016-03-11 2 views
0

Я создаю сайт на PHP, и я хочу использовать логин с Facebook на своем веб-сайте. Я создал идентификатор приложения в разработчике Facebook. Вход в Facebook работает, но я хочу получить идентификатор электронной почты, который используется для входа в Facebook.Facebook api call

вот мой код JavaScript:

$facebook.api("/me").then( 
    function(response) { 
    console.log(response); 
    alert("Welcome " + response.email); 
    }, 
    function(err) { 
    alert("Please log in"); 
    }); 

Выход: response.email не определен.
На консольном журнале я получаю объект как объект {name: "xxx", id: "111"}

Как получить идентификатор электронной почты для входа в Facebook?

ответ

0

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

С уважением.

0

Для того, чтобы получить электронную почту пользователя, вам необходимо выполнить следующие шаги:

  • Установите email разрешение для вашего приложения.

  • Когда вы звоните $facebook.api("/me"), попробуйте позвонить так: $facebook.api("/me?fields=id,name,email"), сделав это, вы должны получить электронное письмо от имени пользователя.

Примечание:

Даже если вы установили email разрешение какой-нибудь пользователь подписаться на Facebook, используя свой мобильный нет. поскольку имя пользователя или какой-либо пользователь хотят, чтобы их электронная почта была конфиденциальной, установив конфиденциальность, поэтому в этом случае вы не получите адрес электронной почты пользователя.

Так что если вы хотите сохранить пользователя в базе данных для будущих справочных работ на id, так как это уникальный идентификатор для этого пользователя.

Если вы хотите получить адрес электронной почты пользователя, и если fb не предоставит его, вы можете запросить явно.

Надеюсь, это вам поможет.