Mostrando entradas con la etiqueta facebook. Mostrar todas las entradas
Mostrando entradas con la etiqueta facebook. Mostrar todas las entradas

lunes, 26 de enero de 2015

Tutorial Javascript parte 37 - Facebook SDK Login de usuarios




En esta parte veremos como integrar el SDK de Facebook para Javascript y crear
un sistema de autenticación de usuarios en una aplicación web. #javascript #facebook #sdk

Desarrolladores de Facebook: https://developers.facebook.com/
Descargar archivos: https://sites.google.com/site/bibliotecaestudiosphp/archivos/facebook.rar?attredirects=0&d=1

Códigos de ejemplo del capítulo:

index.html ...


<!DOCTYPE HTML>
<html>
<head>
<title>Página de inicio</title>
<script src="facebook.js"></script>
<meta charset="UTF-8">

<script>
window.onload = function(){
/* Comprueba el estado del usuario, incluye esta función en todas la páginas donde el usuario 
 deba estar conectado */
getStateFromUser();
}
</script>

</head>
<body>
<div id="status"></div>
<button type="button" onclick="FBBtnLogout()">Cerrar sesión</button>
</body>
</html>


login.html ...

<!DOCTYPE HTML>
<html>
<head>
<title>Login con Facebook</title>
<script src="facebook.js"></script>
<meta charset="UTF-8">
<script>
window.onload = function(){
/* Función que comprueba el estado del usuario, si el usuario ya está conectado será redireccionado 
a la página de inicio index.html */
FBLogin();
}
</script>

</head>
<body>
<div id="status"></div>
<button type="button" onclick="FBBtnLogin()">Iniciar sesión</button>
</body>
</html>


facebook.js ...

// Cargamos la API
(function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/es_ES/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
  
// Configuramos la API
window.fbAsyncInit = function() {
  FB.init({
    appId      : '', //Incluye aquí tu clave pública
 cookie    : true,
    status     : true,
    xfbml      : true,
    version    : 'v2.1'
  });
}

//Redirecciones para después de iniciar sesión o salir de la aplicación
var url_after_login = "http://localhost/tutorial-javascript/facebook/index.html";
var url_after_logout = "http://localhost/tutorial-javascript/facebook/login.html";
  
/* Función para el botón de iniciar sesión con Facebook */
function FBBtnLogin(){
 FB.login(function(response) {
  /* Si el usuario ha iniciado sesión correctamente cargamos la página login.html nuevamente para 
     para que el usuario sea redireccionado a la página index.html */
  if (response.authResponse) {
   window.location.reload();
   } 
   }, 
   {
   /* Solicitamos poder acceder a estos permisos del perfil del usuario */
   /* Más información en: 
   https://developers.facebook.com/docs/facebook-login/permissions/v2.2?locale=es_ES
   */
   scope: 'public_profile,email'
 }); 
}

/* Función para el botón de cierre de sesión en facebook, 
   lógicamente el usuario sale de nuestra aplicación */
function FBBtnLogout(){
    FB.logout(function(response) {
 /* Una vez cerrada la sesión cargamos nuevamente la página para redireccionar al usuario 
 a la página login.html */
 window.location.reload();
 }); 
}
 
 /*
 Función para la página login.html, esta función comprueba el estado del usuario, si el 
 usuario está conectado es redirigido a la página index.html, de lo contrario se le solicitará 
 que inicie sesión con su cuenta de Facebook
 */
 function FBLogin()
 {
   var status = document.getElementById("status");
   FB.getLoginStatus(function(response) { 
   //Conectado
  if (response.status === 'connected') {
 window.location.href = url_after_login;
  } 
  //No autorizado para acceder a la aplicación
  else if (response.status === 'not_authorized'){
 status.innerHTML = "Por favor, tienes que autenticarte con Facebook";
  } 
  //No tiene sesión abierta en Facebook
  else {
 status.innerHTML = "No has iniciado sesión en Facebook";
  }
 });
}

 /*Función para el resto de páginas a las cuales sólo los usuarios auténticados tendrán permisos 
 para entrar, si el usuario no está autenticado, es enviado a la página de login (login.html) */
function getStateFromUser(){

 //En este elemento html mostraremos el estado del usuario
 var status = document.getElementById("status");
 
  FB.getLoginStatus(function(response) {
  
   //Si el usuario está conectado correctamente a nuestra aplicación
   if (response.status === 'connected')
   {
     //Token para los formularios, para evitar ataques del tipo CSRF
           var token = response.authResponse.accessToken;
     
     /*
     De esta forma podemos acceder a la información del usuario
     Más información en: 
     https://developers.facebook.com/docs/facebook-login/permissions/v2.2?locale=es_ES
     */
     FB.api('/me', function(response) {
     
     // nombre del usuario
     name = response.name;
     // email del usuario
     email = response.email;
     // id del usuario
     id = response.id;
     
     // Incluimos un mensaje y la imagen del usuario
     status.innerHTML = name + " has iniciado sesión correctamente <img src='//graph.facebook.com/"+id+"/picture'>";
     });
   }
   // De lo contrario lo enviamos a login.html
   else if(response.status === 'not_authorized')
   {
   window.location.href = url_after_logout;
   }
   // De lo contrario lo enviamos a login.html
   else
   {
   window.location.href = url_after_logout;
   }
  });
}


Vídeo tutorial de Javascript en Youtube


viernes, 18 de julio de 2014

Como incluir la caja con el botón me gusta en mi web para una página de Facebook


Bienvenid@s, si estás aquí es poco estás buscando el modo de incluir en tu web esa caja de facebook que contiene el botón me gusta de una página de Facebook, lo has visto en muchas páginas web, esta caja suele mostrar los usuarios que han hecho like en la página, es decir algo parecido a lo que puedes ver en la siguiente imagen:

Como incluir la caja con el botón me gusta en mi web para una página de Facebook
A esta caja que proporciona Facebook se le llama Like Box y como veremos a continuación es muy fácil de integrar.

Lo primero que vamos a hacer es ir al siguiente link: https://developers.facebook.com/docs/plugins/like-box-for-pages 

Al entrar veréis una página como la siguiente, desde la cual podremos configurar el Like Box para nuestro sitio web:

Como incluir la caja con el botón me gusta en mi web para una página de Facebook

Ahora es momento de buscar la dirección url de nuestra página de facebook, para ello simplemente accedéis a vuestra página, copias la url:


Como incluir la caja con el botón me gusta en mi web para una página de Facebook

 Y la agregáis en el campo "Facebook Page URL":

Como incluir la caja con el botón me gusta en mi web para una página de Facebook

Bien, también podemos configurar otras cosas, por ejemplo la anchura del Like Box en el campo Width, la altura en el campo Height, El color del borde en Color Scheme y activar o desactivar las casillas:

Show Friends' Faces: para mostrar los usuarios
Show Header: para mostrar la cabecera
Show Posts: para mostrar las publicaciones de la página de Facebook
Show Border: para mostra el borde del Like Box

Una vez que habéis seleccionado la configuración que más os guste, haremos click en el botón "Get code" y nos aparecerá una ventana con un código en la parte superior y otro en la inferior copiamos ambos y lo incluimos en el lugar que más nos guste de nuestro sitio web.

 Parte superior:

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/es_ES/sdk.js#xfbml=1&appId=297316460450808&version=v2.0";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>



 Parte inferior:

<div class="fb-like-box" data-href="https://www.facebook.com/pages/Jquery-en-espa%C3%B1ol/668254706573483?ref_type=bookmark" data-colorscheme="light" data-show-faces="true" data-header="true" data-stream="false" data-show-border="true"></div>



Comprar desde Facebook será posible en muy poco tiempo


Comprar desde Facebook será posible en muy poco tiempo


La compañia Facebook tiene entre manos un proyecto que permitirá a los usuarios la opción de comprar online desde el propio portal de Facebook.

Esta iniciativa consiste en la inclusión de un botón de compra en aquellas publicaciones o anuncios que se muestran en el muro de usuarios. Los usuarios podrán comprar desde el propio Facebook, es decir, sin tener que abandonar la propia red social.

Uno de los aspectos que ha querido recalcar el creado de Facebook Marck Zuckerberg es que la privacidad de los usuarios estará totalmente protegida y en ningún momento se harán públicos datos sensibles como el número de la tarjeta de crédito o débito. También se permitirá al usuario guardar la forma de pago, para próximas compras.

Este proyecto se encuentra en una fase de pruebas por el momento sólo en EE.UU y también se encuentra limitada a unas determinadas empresas.

La iniciativa se espera que dentro de muy poco tiempo esté disponible también a nivel internacional. Las empresas y comerciantes ven con buenos ojos esta opción ya que permitirá crear una amplia red de mercado en uno de las redes sociales con más usuarios del mundo. 


martes, 13 de mayo de 2014

Plugin Red Social: emular compartir enlaces de comentarios de Facebook


El siguiente plugin social emula el box de comentarios de Facebook en lo respectivo a la detección de la url al ser pegada en el box de comentarios, en ese mismo momento empieza a funcionar el plugin mediante una petición ajax que se encarga de procesar la información de la url dada para mostrar las imágenes, la url y el título de procedencia que serán cargados en un nuevo box, listo para ser enviado y guardado en una base de datos.

Este plugin esta desarrollado con PHP y jQuery y por el momento está en fase de pruebas.

Para ver el ejemplo, copia un enlace cualquiera y pégalo en el box de comentarios que aparece debajo de la imagen, el plugin debe de empezar a funcionar, si la url no existe, no se mostrará nada, de lo contrario pasados unos pocos segundos te aparecera una imagen como la siguiente ...