Я пытаюсь интегрировать поток входа в Facebook в веб-сайт (согласно этой странице: https://developers.facebook.com/docs/facebook-login/web), и у меня возникают проблемы с попыткой заставить модал входа запрашивать доступ к адрес электронной почты пользователя Facebook.
В частности, я выполняю следующий код из моего JS:
FB.login((response) => {
if (response.status === 'connected' &&
response.authResponse) {
// Do something with the response here.
}
}, {
scope: 'email',
return_scopes: true
});
Ответ возвращается как подключенный, когда пользователь успешно входит в систему, и я получаю идентификатор пользователя, токен доступа и т. д. c., но когда они нажимают на кнопку в моем пользовательском интерфейсе, которая вызывает FB.login
, модал, который появляется в Facebook, не спрашивает пользователя, хотят ли они предоставить доступ к своему адресу электронной почты. Почему?
Для сайта, который я создаю, мне нужен доступ к адресу электронной почты пользователя Facebook. Если бы их попросили и запретили доступ, это одно, но всплывающее модальное окно даже не спрашивает их о доступе к их адресу электронной почты, и я не получаю их адрес электронной почты обратно в ответе.
Кроме того, если я сделаю следующий вызов следующему, разрешение email
возвращается как declined
:
FB.api(`/${response.authResponse.userID}/permissions`, (response) => {
console.log(response);
});
Кто-нибудь знает, почему я не могу запросить у пользователя доступ к их адрес электронной почты? Спасибо.
Редактировать : Стоит упомянуть, что я тестирую это на локальном хосте, и мне интересно, дает ли это эффект. На панели инструментов Facebook для разработчиков я установил виртуальный хост localhost (например, site-name.test
) в качестве разрешенного URL-адреса для перенаправлений, и он позволил мне войти в систему с помощью Facebook и получить идентификатор пользователя, например, c., Но он просто никогда не запрашивает у пользователя доступ к его адресу электронной почты. Спасибо.