Я реализовал вход в Google+ на основе javascript в своем приложении, используя следующий код:
вар isGPInitialzed = ложь;
function render() {
gapi.signin.render('loginWithGoogle', {
'callback': 'onSignIn',
'clientid': 'the client id',
'cookiepolicy': 'single_host_origin',
'requestvisibleactions': 'http://schema.org/AddAction',
'scope': 'https://www.googleapis.com/auth/plus.login'
});
isGPInitialzed = true;
}
//Google
function onSignIn(authResult) {
if (!isGPInitialzed) {
if (authResult['status']['signed_in']) { //get some user info
gapi.client.load('oauth2', 'v2', function () {
gapi.client.oauth2.userinfo.get().execute(function (response) {
console.log(response.email);
$.ajax({
url: '/Account/GLogin',
type: 'POST',
data: {
email: response.email,
name: response.name,
profilePicture: response.picture
},
dataType: 'json',
success: function (isUserLoggedIn) {
if (isUserLoggedIn) {
window.location.reload();
}
}
});
});
});
}
}
else {
isGPInitialzed = false;
}
};
Он работал нормально, пока я не создал новое приложение из другой учетной записи и не заменил идентификатор клиента. При успешной аутентификации API не возвращает адрес электронной почты пользователя в ответе. Я проверил настройки учетной записи Google+ для приложений и не могу предоставить доступ к электронной почте. В чем может быть проблема?
clientId
, лучше его скрыть. - person Wiktor Zychla   schedule 14.06.2015