Faceblog – Blog sobre Facebook

Blog sobre Facebook: Noticias, trucos, tutoriales de desarrollo de aplicaciones…

Archivo de la Categoría ‘API

Desarrollo: Publicar notificaciones

  • Domingo Oct 18,2009 05:54 PM
  • By Gabriel Cuesta Arza
  • In API

notificacionUno de los canales de comunicación más importantes en Facebook es el sistema de notificaciones. Centenares de aplicaciones utilizan este canal para enviarnos mensajes.

¿Cómo lo hacen? Pues muy sencillo, os pongo aquí un ejemplo con PHP:

<?php
$user_id = $facebook->require_login();
$notificacion = “mensaje de prueba”;
$facebook->api_client->notifications_send($user_id, $notificacion, ‘app_to_user’);
?>

La variable $user_id contiene el identificador del usuario activo.

La variable $notificacion contiene el mensaje que vamos a enviar.

VN:F [1.8.1_1037]
Rating: 4.0/5 (2 votes cast)

Facebook API tutorialMuchas veces nos interesa en una aplicación poder saber que amigos del usuario han agregado también la aplicación para poderle ofrecer al usuario esa información.

Por ejemplo, en la tabla de records de un juego es agradable para el usuario no sólo ver los records totales, si no ver también las mejores puntuaciones de sus amigos.

¿Cómo podemos saber que amigos del usuario son usuarios de nuestra aplicación?

Bueno, podemos optar por el método más “duro” que es contrastar nuestra lista de usuarios con la lista de amigos del usuario.

Afortunadamente Facebook nos lo pone más fácil y nos da la opción de obtener ese listado de amigos a través de un método de su API, getAppUsers, este método pertenece a la clase Friends, así que la expresión completa vendría a ser Friends.getAppUsers.

Los parámetros de esta función serían los siguientes:

  • api_key: La clave api de la aplicación.
  • session_key: El identificador de sesión del usuario.
  • call_id: El identificador de la petición a la API, Facebook recomienda utilizar el tiempo actual en microsegundos.
  • sig: El hash en MD5 con todos los parámetros para autentificar la petición.
  • v: La versión de la API, como siempre es “1.0″.

Hay dos parámetros opcionales:

  • format: El formato en el que se devuelve el resultado, puede ser XML (por defecto es este) o JSON.
  • callback: Función a ejecutar una vez se ha obtenido la respuesta, este parámetro está especialmente pensado para cuando hacemos la llamada desde Javascript.

Para los que no hayáis ejecutado nunca métodos con la API os remito a este post en el que explico cómo utilizar la API de Facebook con PHP.

VN:F [1.8.1_1037]
Rating: 0.0/5 (0 votes cast)

Desarrollo: Detectar al administrador de la aplicación

  • Lunes Jun 22,2009 11:05 PM
  • By Gabriel Cuesta Arza
  • In API

Facebook APITodas las aplicaciones dinámicas para web requieren siempre un panel de control con el que gestionar los datos de la misma. Naturalmente a ese panel sólo queremos que acceda el administrador, para esto lo suyo es utilizar un sistema de usuarios con privilegios de acceso, podemos programarlo nosotros o bien aprovecharnos del sistema de usuarios de Facebook :)

Hay dos maneras de saber si el usuario que ha entrado en la aplicación es administrador o no, con la API de Facebook o con FQL. En este post voy a explicaros como hacerlo con la API de Facebook.

Con la API de Facebook disponemos la propiedad isAdmin de la clase Pages, o sea, Pages.isAdmin.

Este método tiene los siguientes parámetros obligatorios:

  • api_key: La clave de la aplicación.
  • session_key: La sesión del usuario.
  • call_id: El identificador de la llamada, podemos utilizar el tiempo en formato UNIX stamp para este parámetro.
  • sig: Un cadena encriptada con MD5 con los parámetros utilizados.
  • v: Tiene que ser “1.0″
  • page_id:  El identificador de la página en la que estamos ejecutando este código.

Los parámetros voluntarios son los siguientes:

  • format: Formato de la respuesta, por defecto es XML, podemos utilizar también JSON para el formato JSON.
  • callback: Nombre de la función a ejecutar al recibir respuesta, se suele utilizar para javascript.
  • uid:  Identificador del usuario, por defecto es el mismo que el correspondiente de la sesión del usuario.

Os pongo aquí el enlace a otro post de este blog donde explico como utilizar la API de Facebook con el Rest Server.

VN:F [1.8.1_1037]
Rating: 1.0/5 (1 vote cast)

Desarrollo: Enviar emails con la API de Facebook

  • Martes May 19,2009 11:23 PM
  • By Gabriel Cuesta Arza
  • In API

facecode11En ocasiones nos interesa enviar emails a los usuarios de nuestra aplicación, Facebook nos permite hacerlo con su API, eso sí, el máximo de envío son 100 emails al día.

El método utilizado es de la clase notifications y se llama sendEmail, o sea, notifications.sendEmail.

¿Qué parámetros admite este método? Comencemos con los obligatorios:

  • api_key: La clave de la aplicación.
  • sig: La clave encriptada que valida los parámetros enviados por la aplicación. En el post que hice hace poco sobre el REST server de Facebook podéis ver un ejemplo, aunque pronto le dedicaré un post en exclusiva.
  • v: La versión, por ahora siempre debes poner “1.0″.
  • recipients: Listado separado por comas de todos los identificadores de los usuarios a los que quieres enviar un email.
  • subject: Asunto del email.
  • text: Contenido del email.
  • fbml: Determina si vamos a enviar el email en modo FBML/HTML o en modo texto. Los valores posibles son fbml o text.

¿Cuales son los parámetros opcionales?

  • session_key: La sesión del usuario que se ha conectado a la aplicación (Sólo para aplicaciones desktop).
  • format: Formato de la respuesta del servidor, XML o JSON
  • callbac: Se utiliza cuando hacemos la llamada con javascript para llamar a una función cuando se recibe la respuesta del servidor de Facebook.

Para ejecutar este método podéis usar el tutorial que publiqué sobre el REST server modificándolo.

VN:F [1.8.1_1037]
Rating: 0.0/5 (0 votes cast)

Cómo utilizar la API de Facebook vía REST server

  • Viernes May 15,2009 06:33 PM
  • By Gabriel Cuesta Arza
  • In API

Hace poco publiqué un post de como crear vuestra primera aplicación de Facebook con PHP.

Con este post vamos a ir ahora un pasito más adelante, os voy a enseñar con un sencillo ejemplo como utilizar la API de Facebook en nuestra aplicación.

El primer paso para utilizar la API de Facebook en nuestra aplicación es tener creada una aplicación de Facebook funcionando en un servidor Apache con sus correspondientes librerías en PHP5.

Si tenemos ya controlado ese paso trabajar con la API de Facebook es bastante sencillo. Facebook utiliza un sistema de comunicación que ellos denominan REST-interface, que viene a ser algo parecido a un servidor SOAP con XML, pero con sus particularidades. Es decir, que desde nuestra aplicación enviamos peticiones vías http al servidor de Facebook y este ejecutará los métodos que le solicitemos (o nos enviará las propiedades) y nos dará la respuesta también vía http.

Esto nos lleva a hablar de un requisito importante de nuestro servidor, debe tener Curl activado, de lo contrario el ejemplo que voy a mostraros no funcionaría. La librería Curl sirve para que desde PHP podamos navegar páginas web remotas (o sea, enviar y recibir datos vía http) y sólo puede ser activada por el administrador del servidor, así que si vuestro hosting no lo tiene activado moved Roma con Santiago para conseguir que os la activen (o cambiar de proveedor de hosting).

Os pongo aquí un ejemplo sencillo que muestra como subir fotos con la API de Facebook y PHP:

<?php
function signRequest(&$args, $secret){
	ksort($args);
	$sig = "";
	foreach($args as $k => $v){
		$sig .= $k . '=' . $v;
	}
	$sig .= $secret;
	$args['sig'] = md5($sig);
}

$key = 'xxxxxxxxxxxxxxxxxxxxxx';
$sec = 'xxxxxxxxxxxxxxxxxxxxxxxx';

$ver = '1.0';
$cid = microtime(true);
$uid = 'BIGINT';
$file= 'foto.jpg';

$args = array(
	'method' => 'photos.upload',
	'v' => $ver,
	'api_key' => $key,
	'uid' => $uid,
	'call_id' => $cid,
	'format' => 'XML'
);

signRequest($args, $sec);
$args[basename($file)] = '@' . realpath($file);

$ch = curl_init();
$url = 'http://api.facebook.com/restserver.php?method=photos.upload';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
$data = curl_exec($ch);
?>


Cómo veis preparamos un paquete de datos y una vez lo tenemos listo lo envíamos vía http utilizando Curl. posts posteriores volveremos sobre este ejemplo para explicar al detalle como se construyen y se firman esos datos antes de enviarlos al REST server y sobre como procesar su respuesta en XML.

VN:F [1.8.1_1037]
Rating: 1.0/5 (2 votes cast)

Cómo hacer privadas partes de tu aplicación canvas

  • Lunes May 11,2009 05:05 PM
  • By Gabriel Cuesta Arza
  • In API

logofacebookCuando desarrollamos una aplicación no siempre nos interesa que todas las secciones sean accesibles para todos los usuarios, hay secciones, como por ejemplo las páginas de administración a las que sólo queremos que accedan unos pocos usuarios.

¿Cómo hacemos entonces?

Pues Facebook nos lo pone muy fácil, con la función require_login() obligamos al usuario a acceder a la aplicación con su usuario y su clave de Facebook. En el caso de tener ya el usuario conectado no muestra al usuario de nuevo el formulario de acceso.

La respuesta de la función es el identificador del usuario de Facebook de tal manera que si tienes almacenado en base de datos o en un array un listado de identificadores autorizados tan sólo tendrás que comprobar que el identificador esté en tu lista.

Aquí va un ejemplo rápido:

<?php

$adminId = “123456″;

$userId = require_login();

if($adminId==$userId){
echo(“Eres el administrador”);
}else{
echo(“No eres el administrador”);
}

?>

VN:F [1.8.1_1037]
Rating: 0.0/5 (0 votes cast)

Facebook va a comenzar a utilizar uid de 64bits

  • Viernes Abr 10,2009 06:25 AM
  • By Gabriel Cuesta Arza
  • In API, General

facecodeDebido al crecimiento brutal que está teniendo la red social Facebook el campo uid, que viene a ser el campo que identifica al usuario, va a pasar de ser de 32 bits a 64 bits.

¿Qué implica esto? Pues implica que tienes que adaptar tus aplicaciones al nuevo tamaño máximo del identificador del usuario.

¿A nivel marketiniano que nos dice esto? Nos dice que Facebook sigue creciendo mucho, y crece tanto que sus ingenieros con este cambio lo están preparando para que ¡¡¡Duplique su número de usuarios!!!

VN:F [1.8.1_1037]
Rating: 0.0/5 (0 votes cast)
Juega a Moon Star Hunter en Facebook /

RSS Feeds

Subscríbete por email:

Comunidad

¿Eres ya usuario de este blog?
Login
Accede usando Facebook:
Últimos visitantes
Powered by Sociable!

Translator

Get Adobe Flash playerPlugin by wpburn.com wordpress themes

Switch to our mobile site