gpt4 book ai didi

javascript - 解析 Facebook 登录在 ionic View 中不起作用

转载 作者:数据小太阳 更新时间:2023-10-29 04:16:54 24 4
gpt4 key购买 nike

我正在尝试让 Parse.FacebookUtils.logIn 在 Ionic View 上工作,当我在浏览器中点击 ionic serve 时,我已经成功地让它工作,但问题是当我尝试使用 Ionic 登录时查看模拟器,基本上不会弹出身份验证 Facebook 窗口,我不知道为什么。

我遵循了这个文档: https://www.parse.com/docs/js/guide#users-facebook-users

一切都在浏览器中运行良好,只是试图使其在 Ionic View 中运行。

有什么想法吗?

最佳答案

我放弃了使用 Ionic 的 Parse sdk 并开始使用另一个使用以下文档的插件:

http://ngcordova.com/docs/plugins/oauth/

https://github.com/nraboy/ng-cordova-facebook-example/blob/master/www/js/app.js

这是我为使其与 Parse 一起工作而编写的代码:

$scope.fbLogin = function() {
var result;
$cordovaOauth.facebook('987971754588010', ['public_profile, user_birthday, email']).then(function(success) {

$http.get("https://graph.facebook.com/v2.2/me", { params: { access_token: success.access_token, fields: "id,name,birthday,last_name,first_name,email,gender,picture.type(large)", format: "json" }}).then(function(result) {

$localstorage.setObject('fbData', result.data);

var expiration_date = new Date();
expiration_date.setSeconds(expiration_date.getSeconds() + success.expires_in);
expiration_date = expiration_date.toISOString();

var facebookAuthData = {
"id": result.data.id,
"access_token": success.access_token,
"expiration_date": expiration_date
};

Parse.FacebookUtils.logIn(facebookAuthData, {
success: function(user) {
if (!user.existed()) {
alert("User signed up and logged in through Facebook!");
$scope.openModal();
} else {
alert("User logged in through Facebook!");
$scope.syncFbData(null);
}
},
error: function(user, error) {
console.log('ERROR: ' + error);
var alertPopup = $ionicPopup.alert({
title: 'Error de autenticación de usuario',
template: 'El usuario canceló autenticación con Facebook o no autorizó permisos. '
});
}
});
}, function(error) {
console.log('ERROR: ' + error);
var alertPopup = $ionicPopup.alert({
title: 'Error de conexión',
template: 'No se ha logrado establecer conexión con Facebook.'
});
});
}, function(error) {
console.log('ERROR: ' + error);
var alertPopup = $ionicPopup.alert({
title: 'Error de conexión',
template: 'No se ha logrado establecer conexión con Facebook.'
});
});
};

$scope.syncFbData = function (newUsername) {
var fbData = $localstorage.getObject('fbData')
var currentUser = Parse.User.current();
if (newUsername) {
currentUser.set('username', newUsername);
}
currentUser.set('nombre', fbData.first_name);
currentUser.set('apellidos', fbData.last_name);
currentUser.set('email',fbData.email);
currentUser.set('fechaNacimiento', new Date(fbData.birthday));
currentUser.set('imagenUrl',fbData.picture.data.url);
currentUser.set('genero',((fbData.gender === 'male') ? 'Hombre' : 'Mujer') );
currentUser.save(null, {
success: function (response) {
$scope.closeModal();
$state.go('app.lista-cervezas');
},
error: function (response, error) {
console.log('ERROR: ' + error);
var alertPopup = $ionicPopup.alert({
title: 'Nombre de usuario invalido',
template: 'El nombre de usuario ingresado ya se encuentra en uso!'
});
}
});
};

关于javascript - 解析 Facebook 登录在 ionic View 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33600172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com