El objetivo de este manual es el de poder crear feeds de nuestras acciones en la aplicación de Facebook que hemos desarrollado.
Se supone que tenemos creada nuestra aplicación en Facebook, por lo que nos saltamos todo el proceso.
MUY IMPORTANTE: Bajarse la última versión de la api de Facebook desde:
http://svn.facebook.com/svnroot/platform/clients/packages/facebook-platform.tar.gz
Una vez creada nuestra aplicación entramos en:
http://developers.facebook.com/tools.php?feed
En nuestro caso solo queremos que al realizar una acción en nuestra aplicación de facebook se actualice el feed de nuestro perfil con una sola linea. Para ello, escribimos en el campo 'One line template' la plantilla que seguirá nuestro feed.
Por ejemplo:
{*actor*} ha votado {*voto*} en la aplicación X.
En el campo 'Sample Template Data' escribimos valores para los parámetros de hemos escrito en 'One line template', en nuestro caso, el único parámetro que tenemos es {*voto*}. {*actor*} no se considerá parámetro porque se rellenará automáticamente con nuestro usuario. Esto es solo un ejemplo para que veamos como va a quedar cuando hagamos la vista previa.
Por ejemplo:
{"voto":"SI"}
Como solo queremos crear un feed de una sola línea, borramos todos los demás campos. En la siguiente imagen puedes ver un ejemplo de como quedaría:
El siguiente paso es pulsar en preview, lo que generará una vista previa de como quedará nuestro feed de una linea, rellenando los parámetros con el ejemplo que hemos puesto. En nuestro caso quedará así:
Jon ha votado SI en la aplicación X.
Si ha quedado como queríamos, el siguiente paso es pulsar en 'Register Template Bundle' para registrar este feed en nuestra aplicación. Una vez guardado, nos genera un número llamado 'Template Bundle Id', que usaremos para crear los feeds desde nuestra aplicación de facebook. Podemos ver la lista de plantillas de feeds registradas pinchando en la pestaña 'Registered Templates Console'.
Una vez hemos registrado la plantilla de feed en nuestra aplicación haremos uso de la función feed_publishUserAction() en nuestra aplicación para publicar los feeds.
Por ejemplo:
En el array $tokens pondremos todos los parámetros que hayamos definido anteriormente. En este caso solo tenemos el parametro voto pero si tuvieramos más parámetros los definiríamos en este array.
Cuando un usuario interactúe con nuestra aplicación y vote ('SI' o 'NO'), se generará un feed en su perfil con el voto realizado.
El grupo de las aplicaciones de Facebook. Publica manuales o deja tus dudas.
adagio20 - 03/02/2009 11:29:57
Hola!
Tengo un problema...
mi código es este:
$tokens = array();
$success = $facebook->api_client->feed_publishUserAction($id_plantilla, $tokens);
var_dump($success);
el resultato es string(0) "" y no me aparece el feed en el muro. Creo que lo tengo todo bien configurado, php4, los últimos archivos... pero creo que me falta algun paso...
jonseg - 04/02/2009 10:17:19
Hola, parece ser que no has seguido el ejemplo de arriba.
La llamada a feed_publishUserAction tiene más parámetros que los que tu has puesto. Además, mandas un array $tokens vacío y no debería ser así. Prueba a seguir los pasos del ejemplo.
Un saludo.
adagio20 - 04/02/2009 11:27:38
Hola!
Con el ejemplo que utilizas tampoco me da resultado
$voto="SI";
$template_bundle_id = 53159601147;
$tokens = array(
'voto'=>$voto
);
$target_ids = array();
$body_general = '';
$success = $facebook->api_client->feed_publishUserAction( $template_bundle_id, json_encode($tokens) , implode(',', $target_ids), $body_general);
var_dump($success);
Es como si no llamara correctamente la función, pero tengo todo bien configurado, el php5, los includes correspondientes, y la id de la plantilla creada desde tools de facebook
reyesoft - 20/04/2009 06:45:24
El tutorial es muy claro y detallado pero hay algo que a mí no me está funcionando. Me muestra el siguiente error
Fatal error: Uncaught exception 'FacebookRestClientException' with message 'Feed.publishUserAction cannot be used to automatically publish one-line stories on Connect sites.' in facebook/facebookapi_php5_restlib.php:2708 Stack trace: #0 facebook/facebookapi_php5_restlib.php(813): FacebookRestClient->call_method('facebook.feed.p...', Array) #1 fbconnect.class.php(120): FacebookRestClient->feed_publishUserAction(179536920537, '["viddeo","Titu...', '', '') #2 comentarios.class.php(278): FbConnect->publicarFeed(179536920537, Array) #3 /var/www/vhosts/videos-chistosos.net/httpdocs/cuerpo/videos-1.inc.php(15): Comentarios->evalForm() #4 /var/www/vhosts/videos-chistosos.net/httpdocs/index.php(14): require('/var/www/vhosts...') #5 {main} thrown in facebook/facebookapi_php5_restlib.php on line 2708
¿Alguien podría ayudarme?
Un saludo...