Facebook не будет запрашивать необходимое разрешение при входе - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь запросить разрешение электронной почты, но оно не будет отображаться при открытии всплывающего окна FB.

Кнопка является пользовательской кнопкой, поэтому я не спрашиваю разрешения для html (как некоторые здесь сказали, решает проблему), но для этой функции:

function FBlogin()
  {

             FB.login(function(response) {
                if (response.status === 'connected')
                {
                  console.log("connected");
                  testAPI();
                }
                else
                 {
                  console.log("not connected");
                 }
              },{scope: 'public_profile,email'});

  }

Который позже вернет null, а также даже не попросит у меня этого разрешения.

Также - как я могу "сбросить" Chrome от определения того, что пользователь уже вошел в систему (больше не отображать всплывающее окно FB)?

1 Ответ

3 голосов
/ 15 марта 2019

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

После этого я отключился / снова подключился, и он не попросил меня снова принять разрешения.

Если вы хотите, чтобы вас снова спросили, перейдите на FB profile > Carret dropdown > Parameters > Apps & websites и удалите свое приложение.

Чтобы проверить, подключен ли уже пользователь, вы можете проверить FB.getLoginStatus(), если статус connected и прервать процесс подключения.

Следовательно, вы можете получить электронное письмо с

FB.api('/me?fields=email', res => console.log(res.email))

...