Flex 4 e Facebook-Aathscript-Api: Não é possível fazer o login
-
22-09-2019 - |
Pergunta
Escrevi um aplicativo simples para o Facebook e parece que não consegui fazer login. Criei um aplicativo de teste no Facebook e testo meu aplicativo indo para apps.facebook.com/
Eu tenho a seguinte função que está sendo executada após o evento ApplicationComplete do meu aplicativo principal.
private function initFacebook():void {
fbApiKey = "API_KEY";
fbSecret = "SECRET";
fbLoaderInfo = stage.loaderInfo;
fbSession = new FacebookSessionUtil( fbApiKey, fbSecret, fbLoaderInfo);
fbSession.addEventListener( FacebookEvent.WAITING_FOR_LOGIN, fbWaitingForLoginHandler, false, 0, true );
fbSession.addEventListener( FacebookEvent.CONNECT, fbConnectHandler, false, 0, true );
fbSession.login();
}
private function fbWaitingForLoginHandler( e:FacebookEvent ):void
{
fbSession.validateLogin();
}
private function fbConnectHandler( e:FacebookEvent ):void
{
Alert.show(fbSession.facebook.is_connected ? ' connected' : 'not connected');
}
Recebo um alerta de que não estou conectado e não posso buscar nenhuma informação. Entrei na chave da API e segredo adequado.
Se não conseguir fazer algo, como posso depurar e ver exatamente onde falhou?
THANSK
Solução
O seguinte funciona: Var FBook privado: Facebook; Sessão privada VAR: FacebookSessionutil; private var fbuser: FacebookUser;
private function initFacebook():void {
session=new FacebookSessionUtil(API_KEY,SECRET,loaderInfo);
session.addEventListener(FacebookEvent.CONNECT,onConnect);
fbook=session.facebook;
session.login();
}
private function onConnect(e:FacebookEvent):void{
var call:FacebookCall=fbook.post(new GetInfo([fbook.uid],[GetInfoFieldValues.ALL_VALUES]));
call.addEventListener(FacebookEvent.COMPLETE,onGetInfo);
}
private function onGetInfo(e:FacebookEvent):void{
this.fbUser=(e.data as GetInfoData).userCollection.getItemAt(0) as FacebookUser;
<!-- fetching facebook user information from this.fbUser -->
}
E eu criei um botão que executa a seguinte função: (somente depois que estou conectado ao Facebook)
private function onConfirmLogin():void{
session.validateLogin();
}