2015-11-08 18 views
8

Ben Parse.FacebookUtils.logIn İon görünümüne üzerinde çalışmaya almaya çalışıyorum çalışmıyor, başarıyla ben iyonik Tarayıcımdaki hizmet vurduğunda o iş yapmak mümkün olmuştur, ama sorun İyonic View emülatörünü kullanarak giriş yapmaya çalıştığımda, temel olarak Facebook penceresi açılır ve neden hiç bir fikrim yok. https://www.parse.com/docs/js/guide#users-facebook-usersAyrıştırma Facebook Giriş İon görüntüleyin'i

Her şey sadece o İon görünümünde çalışması yapmaya çalışıyorum tarayıcıda harika çalışır:

bu belgelere izledi.

Herhangi bir fikrin var mı?

+0

Kontrol http://www.raywenderlich.com/44640/integrating-facebook-and-parse-tutorial-part-1 –

+0

Ayrıca bu facebook, ikonik görünümde sorun yaşayabilir. Aslında orada da –

+0

@SomnathMuluk içindeki açıklamalara kontrol edin FB SDK ve Parse SDK, İyon görünümde, emülatörde veya .apk dosyasında çalışmıyor gibi görünmüyor –

cevap

4

Ben İon ile Ayrıştırma sdk vazgeçti ve aşağıdaki belgeleri kullanarak eklentiyi başka başka kullanmaya başladı: onunla çalışması için Buraya

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

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

yaptım kodu edilir Ayrıştırma:

$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!' 
        }); 
       } 
      }); 
     }; 
+0

bir yorum yayınladı ikinci linke açısından tüm –

İlgili konular