jueves, 17 de mayo de 2012

Desarrollo de apps con Titanium:Integración de Facebook

Sin duda uno de lo grandes impactos al momento de crear una aplicación es la integración de las redes sociales, en esta entrada hablaremos sobre como crear un login y hacer un post en tu muro del usuario.

Para ello debemos tener creada un aplicación en Facebook el cual es relativamente sencillo, si tienen alguna duda pueden entrar a esta liga que encontre en la cual explica como crear un aplicación en Facebook:


Ahora lo que nos interesa será esto, ya verán por que:


Ahora veremos como hacer un login, y como implementaremos lo anterior en el código :


//crea ventana
var win = Titanium.UI.currentWindow;
//funcion que hace el login de Facebook
function loginFacebook(){
 //Si el usuario no se logio entonces pedir permisos
 if(Titanium.Facebook.loggedIn == false){
  //Aqui colocaremos nuetra APP ID
  Titanium.Facebook.appid='168079606553295';
  Titanium.Facebook.permissions = ['publish_stream'];
  //Permiso que tu app necesita del login
  Titanium.Facebook.addEventListener('login',function(e){
   if(e.success) {
    alert('Te has logiado');
    botonFacebook.title='Postea muro'
   }else if(e.error){
    alert('Error: '+ e.error);
   }else if(e.cancelled){
    alert('Has cancelado el login');
   }
  });
  //Llama un metodo de la API de Facebook para hacer el login
  Titanium.Facebook.authorize();
 }
}

var botonFacebook = Titanium.UI.createButton({
 width: 280,
 height: 35,
 top: 330,
 title: 'Login Facebook'
});
win.add(botonFacebook);
botonFacebook.addEventListener('click', function(e){
 loginFacebook();
});


Nosotros agregamos en el código lo que es la APP ID para pedir permiso a que pueda hacer un login el usuario, más adelante veremos para que lo usamos.Ahora veremos por el momento nuestra captura de pantalla:


Ahora haremos un post  en el muro del usuario con una imágen y una pequeña descripción agregandole esta sentencia dentro de la función de loginFacebook:


 }else{
  //Si ya haz accedido entonces
  //Postea foto
 var f = Ti.Filesystem.getFile('paper.png');
 var imagen = f.read();
 var dato = {
  caption: 'Testeo de Post',
  picture: imagen
  };
  //Postea en este directorio me/photos, anexamos imagen
  Titanium.Facebook.requestWithGraphPath('me/photos', dato, "POST", function(e){
   if(e.success){
    alert("Excelente tu imagen sea posteado en tu muro");
   }else{
    alert('Tu imagen no se pudo postear en tu muro :( intenta denuevo');
   }
  });
 }
}


Y veremos lo siguiente en nuestra app:


No hay comentarios:

Publicar un comentario