Crear lector de feeds de tu blog en Facebook
4. Escribiendo nuestra aplicación
Lo primero es crear un archivo llamado conf.php, que contendrá las variables de configuración de nuestra aplicación.
<?php $appapikey = 'TU_APP_API_KEY'; $appsecret = 'TU_APP_SECRETO'; //Reemplazas esto con tu info $appcallbackurl = 'http://casidiablo.net/fb/'; $rss_url = 'http://casidiablo.net/fb/rss.php'; $feed = 'http://casidiablo.net/feed/'; ?>
Ahora crearemos un archivo llamado appinclude.php (por supuesto puede llamarse de otra forma; solo es cuestión de protocolo), en donde se utiliza el API de Facebook para loguear a los usuarios. Será algo así:
<?php
include('conf.php');
require_once 'facebook.php';
$facebook = new Facebook($appapikey, $appsecret);
$user = $facebook->require_login();
try {
if (!$facebook->api_client->users_isAppAdded()) {
$facebook->redirect($facebook->get_add_url());
}
} catch (Exception $ex) {
//esto borra las cookies y te redirecciona a la pagina de login
$facebook->set_user(null, null);
$facebook->redirect($appcallbackurl);
}
?>
Crearemos ahora un archivo llamado rss.php, que utilizará Magpie RSS para obtener información de nuestro canal de feeds (no te preocupes si es mucho código, al final pongo un enlace para que descargues el ejemplo completo):
<?php
include('conf.php');
require_once('rss/rss_fetch.inc');
$rss = @fetch_rss($feed);
$fbml = '<fb:header decoration="no_padding">Linux, Java y Programación RSS Feed Reader</fb:header><div style="margin:0 10px 0 10px;">';
$fbml .= '<table border="0" width="100%" style="margin: 5px 5px 5px 5px;"><tr><td valign="top" width="80%"><a href="'.$rss->channel['link'].'" style="font-weight: bold;">'.$rss->channel['title'].'</a></td><td valign="top" width="80%"><fb:share-button class="meta">
<meta name="medium" content="blog"/>
<meta name="title" content="'.htmlspecialchars(strip_tags($rss->channel['title'])).'"/>
<meta name="description" content="'.htmlspecialchars(strip_tags($rss->channel['description'])).'"/>
<link rel="target_url" href="'.$rss->channel['link'].'"/>
</fb:share-button></td></tr></table>';
foreach ($rss->items as $item) {
$fbml .= '<div style="border-bottom: 2px solid #CCCCCC; padding-bottom:5px;"><br><div style="border-bottom: 1px dotted #CCCCCC; border-top: 1px dotted #CCCCCC;"><table border="0" width="100%" style="margin: 5px 5px 5px 5px;"><tr><td valign="top" width="80%"><a href="'.$item['link'].'" style="font-weight: bold;">'.$item['title'].'</a></td><td valign="top" width="80%"><fb:share-button class="meta">
<meta name="medium" content="blog" />
<meta name="title" content="'.htmlspecialchars(strip_tags($item['title'])).'" />
<meta name="description" content="'.htmlspecialchars(strip_tags($item['description'])).'" />
<link rel="target_url" href="'.$item['link'].'" />
</fb:share-button></td></tr></table></div>';
if($item['description']) $fbml .= $item['description'];
$fbml .= '</div>';
}
$fbml .= '</div>';
//Nos aseguramos que la codificacion sea UTF-8
$fbml = utf8_encode($fbml);
//Cambiamos caracteres especiales
$caracteres=array("á"=>"&amp;amp;aacute;","Á"=>"&amp;amp;Aacute;","é"=>"e","É"=>"&amp;amp;Eacute;","í"=>"&amp;amp;iacute;","Í"=>"&amp;amp;Iacute;",
"ó"=>"&amp;amp;oacute;", "Ó"=>"&amp;amp;Oacute;", "ú"=>"&amp;amp;uacute;", "Ú"=>"&amp;amp;uacute;", "ñ"=>"&amp;amp;ntilde;", "Ñ"=>"&amp;amp;Ntilde;");
foreach($caracteres as $clave=>$valor)
$fbml=str_replace($clave,$valor,$fbml);
echo $fbml;
?>
Luego, debemos crear un archivo llamado index.php, que será cargado cuando Facebook invoque nuestra URL (en mi caso http://casidiablo.net/fb/), el cual carga los archivos conf.php (para obtener los datos de configuración), appinclude.php (para la parte del login e invocación de las clases de Facebook) y rss.php que imprimirá el contenido de nuestro feed:
<?php
include('conf.php');
require_once('appinclude.php');
include('rss.php');
$facebook->api_client->profile_setFBML('<fb:ref url="'.$rss_url.'"/>', $user);
$facebook->api_client->fbml_refreshRefUrl($rss_url);
?>
Eso es todo! Ya podemos agregar nuestra aplicación a nuestro perfil (y los demás usuarios también). Solo debes poner en el navegador tu Canvas Page URL, en mi caso es http://apps.facebook.com/casidiablo/, y estaremos ante el agregador de aplicaciones:

Le ponemos todos los permisos…

Y listo! Ahora podemos abrir nuestra aplicación desde el panel izquierdo, o directamente desde nuestro perfil:

23 Comentarios | deja el tuyo



oliiiii chaooooooooooooooo
Como logro todo eso en .net alguien sabe de un tutorial?
Pues no entiendo a que te refieres, Max
Hola tengo el siguiente problema ya segui los pasos para crear mi lector de Feed en Facebook pero me da el siguiente error
FBML Error (line 2): unknown tag “rss” y no he podido solucionarlo, agradezco la toda la ayuda posible
Hola tengo la siguiente duda con la aplicacion que cree parece que no me funciona porque me da el siguiente error:
FBML Error (line 2): unknown tag “rss”
y no se a que se debe esto, necesito ayuda con esto, por favor
Hay un foro especial para desarrolladores de Facebook, allá te pueden guiar mejor.
Un saludo.
en mi pc aparece siempre cuando voy a iniciar secion [oject error] que hago
por q no me deja hacer nada en el facebook