Button Ação no botão de login, clique em FBConnect API

9

Estou usando o fbconnect api no meu projeto. Quando a caixa de diálogo de login é aberta, onde entramos em nossas credenciais, quando clico no botão de login, algo é executado e ele é redirecionado para a página de publicação. Meu problema é que não estou conseguindo qual ação é executada nesse botão de login para que eu possa colocar um indicador lá.

Anexei uma captura de tela para especificar de qual botão estou falando.

Qualquer sugestão será muito apreciada!

    
por Gypsa 02.06.2011 в 13:47

2 respostas

4
  

Você quer roubar senhas do Facebook de outras pessoas? :)

Parece que FBConnect usa UIWebView para carregar as páginas da web. Esses elementos de formulário não são criados a partir do código. Então você não pode ter acesso a esses métodos / ações.

Acompanhando a ação login button usando UIWebViewDelegate :

No método webView:shouldStartLoadWithRequest:navigationType: delegate em FBDialog.m , você pode ver a solicitação que é enviada da visualização de login.

Você pode ler o URL usando [request.URL absoluteString] . Verifique se esse URL contém a string https://www.facebook.com/login.php?m=m . Se for YES , provavelmente uma solicitação de login está sendo enviada. Você pode fazer sua ação lá.

Observação: não sei se isso sempre funcionará. Você pode pesquisar mais para encontrar uma solução melhor.

    
por EmptyStack 02.06.2011 / 14:04
1

Quando você apertar o botão de login - a solicitação de login será enviada apenas para o servidor FB. Para obter resposta, você precisa implementar o protocolo FBSessionDelegate:

/**
 * Called when the user successfully logged in.
 */
- (void)fbDidLogin;

/**
 * Called when the user dismissed the dialog without logging in.
 */
- (void)fbDidNotLogin:(BOOL)cancelled;

/**
 * Called when the user logged out.
 */
- (void)fbDidLogout;

Leia também comentários no Facebook.m:

  • Inicia uma caixa de diálogo que solicita ao usuário que faça login no Facebook e conceda
  • as permissões solicitadas para o aplicativo. *
  • Se o dispositivo oferecer suporte a multitarefa, usaremos a troca rápida de aplicativos para exibir
  • o diálogo no aplicativo do Facebook ou, se o aplicativo do Facebook não estiver instalado,
  • no Safari (isso permite o logon único, permitindo vários aplicativos em
  • o dispositivo para compartilhar a mesma sessão de usuário).
  • Quando o usuário concede ou nega as permissões, o aplicativo que
  • mostrou o diálogo (o aplicativo do Facebook ou o Safari) redireciona de volta para
  • o aplicativo de chamada, passando o URL no token de acesso
  • e / ou quaisquer outros parâmetros que o back-end do Facebook inclui em
  • o resultado (como um código de erro, se ocorrer um erro).
por SVGreg 02.06.2011 / 14:05