Веб-сайт Firebase получает данные поставщика (пол и день рождения) в Google и Facebook.

Вот моя часть Google

var provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().languageCode = 'zh-TW';
provider.addScope('profile');
provider.addScope('https://www.googleapis.com/auth/userinfo.profile');
provider.addScope('https://www.googleapis.com/auth/userinfo.email');
provider.addScope('https://www.googleapis.com/auth/plus.login');
provider.addScope('https://www.googleapis.com/auth/plus.me');
provider.addScope('https://www.googleapis.com/auth/user.birthday.read');
provider.addScope('email');
firebase.auth().signInWithPopup(provider).then(function(result) {
    console.log(result.user)
}).catch(function(error) {
    app.message.register = error.message;
});

Вот моя часть Facebook

 var provider = new firebase.auth.FacebookAuthProvider();
    provider.addScope('user_birthday');
    firebase.auth().languageCode = 'zh-TW';
    firebase.auth().signInWithPopup(provider).then(function(result) {

      console.log(result.user)

    }).catch(function(error) {

    });

Эти две части не получают пол и день рождения в console.log(result.user), не хватает какой-то настройки? или с неправильной частью? Есть идеи?


person Fan    schedule 25.09.2017    source источник
comment
это слишком широко, обе платформы немного отличаются. Вы знаете о проверке входа на Facebook? вас спрашивают о разрешении на день рождения в процессе входа в систему?   -  person luschn    schedule 25.09.2017


Ответы (1)


Токены доступа, возвращенные result.credential.accessToken, предоставят доступ к этим дополнительным областям. Вам нужно будет запросить API Google/Facebook с этим токеном доступа, чтобы получить эти данные (конкретные для дополнительных запрошенных областей). Кстати, теперь для IdP возвращается некоторая дополнительная информация о пользователе. Проверьте содержимое result.additionalUserInfo.profile.

person bojeil    schedule 26.09.2017
comment
Можете ли вы предоставить пример запроса? в результате.additionalUserInfo не является датой рождения или полом - person Emiliano Pamont; 11.02.2020
comment
Попробуйте использовать этот замечательный инструмент, чтобы узнать, как использовать API developers.google.com/oauthplayground. - person GeekSilva; 30.07.2020