23.8.12

Publicar en el muro de Facebook con Graph Api y PHP

require_once('facebook/facebook.php')

$facebook = new Facebook($config);

Donde la variable $config es un array con los datos de nuestra aplicación.

$config = array();
$config['appId'] = '';
$config['secret'] = '';

Luego seteamos los parametros del post que queremos publicar en el muro:

$array = array('message' => 'Información sobre seguridad, desarrollo web, diseño web',
'picture'=>'http://fbrell.com/f8.jpg',
'name'=>'Test',
'caption'=>'Texto ejemplo 1',
'description'=>'Descripción',
'link'=>'http://igeekblog.blogspot.com/'
);

Y por último:
$ok = $facebook->api('/me/feed/','post',$array);

6.5.11

Como resetear los open graphs tags de tu página

Para poder testear bien los og tags que agregas en tu página sin tener que esperar a que facebook actualice el cache de la misma, puedes visitar http://developers.facebook.com/tools/lint/.
En esta url tu puedes poner la url de tu web y te dira si lee bien los og tags, que lee y como se veria. De paso resetea el cache de facebook.

15.4.11

Dar a los usuarios de una aplicación de Facebook créditos

Parece que Facebook esta desarrollando esta función de darle créditos de facebook a un usuario desde una aplicación. Pero aun esta en Alfa.

En cuanto este libre publicare algo mas.

Ver: http://forum.developers.facebook.net/viewtopic.php?id=94853

14.4.11

Como remover .svn en linux

Para borrar los archivos creados por el svn, abres la consola te posicionas en la carpeta en la cual quieres borrar los .svn y luego ejecutas este comando: find ./ -name ".svn" | xargs rm -Rf.

Esto borrara recursivamente todos los archivos que se encuentren en esa carpeta.

24.3.11

Facebook Aplicación no funciona en Internet Explorer (Cookies)

El problema de facebook con las aplicaciones en un iframe en internet explorer es que, ie no te deja crear cookies sin una privacy policy, lo que se puede hacer es en php enviar un header para que permita crearlas.

El codigo PHP es el siguiente:

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

Si con esto aun no te funciona, es decir sigues en un loop cuando quieres usar la aplicación un parche que me funcionó es en facebook/facebook.php cambiar la variable $expires en la creación de las cookies por 0.

Este post es solo para encaminarlos ya que hay muy buenos tutorials de como hacer lo de los headers p3p.

Crear un album de fotos en el perfil de un usuario de Facebook

Bueno hoy pongo como hacer con la api PHP de Facebook para crear un album de fotos en el perfil de un usuario (previo pedir permiso para ver sus fotos) y agregarle una foto al album creado.

$facebook->setFileUploadSupport(true);

//Create an album
$album_details = array(
'message'=> 'Descripción',
'name'=> 'Título'
);
$create_album = $facebook->api('/{uid}/albums', 'post', $album_details);
//Get album ID of the album you've just created
$album_uid = $create_album->id;
//Upload a photo to album of ID...
$photo_details = array(
'message'=> 'Photo message'
);
$file='imagen.jpg'; //Example image file
$photo_details['image'] = '@' . realpath(DOCUMENT_ROOT . "/".$file);
$upload_photo = $facebook->api('/'.$album_uid.'/photos', 'post', $photo_details);

Espero que les haya servido.

20.3.11

Facebook, publicar mensaje en el muro de un usuario API PHP FQL

Creamos la conexión con la aplicación:

$facebook = new Facebook(array(
'appId' => Id de la aplicación,
'secret' => frase secreta de la aplicación,
'cookie' => true,
));

Obtenemos los datos de la sesión y el uid del usuario en Facebook:
$session = $facebook->getSession();
$uid = $facebook->getUser();

Ahora si estamos listos para publicar el mensaje en el muro del usuario

$param = array(
'message' => 'tu mensaje',
'link' => 'http://www.tulink.com',
'picture'=> 'url de la imagen que quieras que se vea en el muro',
'name'=>'un titulo',
'caption'=>'caption para el link',
'description'=>'una descripcion'
);
$ok = $facebook->api('/'.$uid.'/feed', 'POST', $param);

Con esto aparecera en el muro del usuario el mensaje.

Obtener amigos de facebook con fql y PHP

Primero que nada creamos el objeto Facebook con los datos de la aplicación:

$facebook = new Facebook(array(
'appId' => Id de la aplicación,
'secret' => frase secreta de la aplicación,
'cookie' => true,
));

Obtenemos los datos de la sesión de Facebook:
$session = $facebook->getSession();

Obtenemos el id del usuario de Facebook (uid):
$uid = $facebook->getUser();

Y ahora si llamamos al metodo de la API de Facebook y obtenemos el listado de los amigos del usuario:

$params = array(
'method' => 'fql.query',
'query' => "SELECT uid,first_name,last_name,pic_square,name FROM user WHERE uid IN (SELECT uid1 FROM friend WHERE uid2=".$uid.") ORDER BY first_name",
'access_token' => $session['access_token'],
);
$friends = $facebook->api($params);

El array $friends es un array de objetos, para referenciar alguno de los datos deberan hacerlo de esta manera:

$friends[0]->uid, $friends[0]->first_name, etc etc.

27.8.10

Facebook Pedir Permisos Extendidos

Para pedir en facebook los "Extended Permissions" se necesita

<script src="http://connect.facebook.net/es_ES/all.js" type="text/javascript">
</script>
<script type="text/javascript">

       FB.init({
         appId  : 'xxxxxxxxxxx',
         status : true, // check login status
         cookie : true, // enable cookies to allow the server to access the session
         xfbml  : false  // parse XFBML
       });       
    
</script>
<script>

document.getElementById('fb-login').onclick = function() {
  var cb = function(response) {
   if (response.session) {
      if (response.perms) {
          window.location.reload();
      }
    } else {
    
    }
  };
  FB.login(cb, { perms: 'user_photos' });
};
</script>

y el botón <button id="fb-login">Login & Permissions</button> para ejecutar el script.

Listado de permisos que se pueden pedir: http://developers.facebook.com/docs/authentication/permissions