/ / ionic2 facebook logowanie nie powiodło się - facebook, cordova, angular, ionic2

ionic2 facebook logowanie nie sukces - facebook, cordova, kątowy, ionic2

Próbuję zalogować się do mojej aplikacji za pomocą Facebooka, Zainstalowałem wtyczkę cordova facebook

wprowadź opis obrazu tutaj

i to mój kod, ale pojawia się błąd w Promise wprowadź opis obrazu tutaj

to jest mój kod (właściwie właśnie skopiowałem go z samouczka, który mówi, że działa dla niego)

import { Component } from "@angular/core";
import { NavController,Platform } from "ionic-angular";
import {Http, Headers, RequestOptions} from "@angular/http";
import "rxjs/add/operator/map";


declare const facebookConnectPlugin: any;

@Component({
templateUrl: "build/pages/home/home.html",
})
export class HomePage {
posts:any;
constructor(public platform: Platform, private navCtrl: NavController,private http: Http)
{ this.platform = platform;
this.http = http;
}

fblogin()
{
this.platform.ready().then(() => {
this.fblogin1().then(success => {
console.log("facebook data===" + success);
alert("facebook data===" + success);
this.http.post("http://localhost/facebook.php",success)
.map( res =>res.json()).subscribe(data => {
if(data.msg=="fail")
{
console.log("Login failed");
alert("Invalid username and password");
return;
}
else
{
console.log(" login Sucessfully facebook");
}
});
}, (error) => {
alert(error);
});
});
}
fblogin1(): Promise<any>
{
return new Promise(function(resolve,reject)
{
facebookConnectPlugin.login(["email"], function(response)
{
alert(JSON.stringify(response.authResponse));
facebookConnectPlugin.api("/" + response.authResponse.userID + "?fields=id,name,email,gender",[],
function onSuccess(result)
{
//alert(JSON.stringify(result));
//console.log(JSON.stringify(result));
resolve(JSON.stringify(result));
},
function onError(error)
{
alert(error);
}
);
},
function(error)
{
alert(error);
})
});
}

}

jeśli ktoś zna inny sposób, chciałbym wiedzieć.

Odpowiedzi:

0 dla odpowiedzi № 1

rozwiązuję ten problem, zmieniając funkcję logowania na ten kod

facebookLogin(){

Facebook.login(["email"]).then( (response) => {
let facebookCredential = firebase.auth.FacebookAuthProvider
.credential(response.authResponse.accessToken);
var that = this;
firebase.auth().signInWithCredential(facebookCredential)
.then((success) => {

that.userProfile = JSON.stringify(success);

that.nav.setRoot(HomePage);// after login go to HomePage
})
.catch((error) => {
console.log("Firebase failure: " + JSON.stringify(error));
});

}).catch((error) => { console.log(error) });

}