Foros del Web » Estrategias Digitales y Negocios Online » Social Media Marketing »

Facebook: obtener token de la página no del usuario

Estas en el tema de Facebook: obtener token de la página no del usuario en el foro de Social Media Marketing en Foros del Web. Hola a todos: Estoy estudiándome la API de Facebook para publicar en el muro. Hasta ahora he conseguido publicar perfectamente en el timeline con: $res ...
  #1 (permalink)  
Antiguo 23/04/2013, 05:07
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 5 meses
Puntos: 5
Facebook: obtener token de la página no del usuario

Hola a todos:

Estoy estudiándome la API de Facebook para publicar en el muro. Hasta ahora he conseguido publicar perfectamente en el timeline con:

$res = $facebook->api('/me/feed', 'POST', $req);

Y tb he conseguido publicar en el lado concreto de una página creada por mí en el lado derecho como invitado con:

$res = $facebook->api('/123455678/feed', 'POST', $req); // 123455678 es el id de la página

Pero yo quiero publicar en el lado izquierdo como creador de esa página, pero no sé como hacerlo, supongo que tendría que obtener el token q me identifique como creador de esa página en Facebook. ¿Cómo tendría que hacerlo?

Gracias
  #2 (permalink)  
Antiguo 23/04/2013, 07:23
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: Facebook: obtener token de la página no del usuario

Debes tener el permiso de Manage Pages

$pagina = $facebook->api("/PAGE_ID?fields=access_token");

http://developers.facebook.com/docs/reference/api/page/

Saludos
  #3 (permalink)  
Antiguo 23/04/2013, 10:07
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 5 meses
Puntos: 5
Respuesta: Facebook: obtener token de la página no del usuario

Ante todo gracias por tu respuesta rottenp4nx, pero sigue sin funcionarme.

No consigo acceder al valor de access_token, si pongo cualquier otro de los elementos sí que me lo pasa al array correspondiente:

ej)
$page_info = $facebook->api("/$page_id?fields=picture");
print_r($page_info);

$page_info = $facebook->api("/$page_id?fields=name");
print_r($page_info);

$page_info = $facebook->api("/$page_id?fields=link");
print_r($page_info);

Pero si pongo:

$page_info = $facebook->api("/$page_id?fields=access_token");
print_r($page_info);

El array no devuelve nada (solo el id que devuelve siempre). He mirado la configuración de la web por si acaso no estaba dado de alta como administrador y sí lo estoy (de hecho soy el único administrador), pero no hay manera de obtener el access_token.

¿Alguna idea? Gracias
  #4 (permalink)  
Antiguo 23/04/2013, 11:11
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: Facebook: obtener token de la página no del usuario

Diste el permiso de manage_pages ?

Saludos
  #5 (permalink)  
Antiguo 23/04/2013, 11:40
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 5 meses
Puntos: 5
Respuesta: Facebook: obtener token de la página no del usuario

Sí, en los Extended Permission marque lo de "manage_pages".

He puesto en el código lo siguiente:

$page_info = $facebook->api("/$page_id?fields=");
print_r($page_info);

Para así sacarme todos los campos que haya en el array y me muestra lo siguiente:

Array ( [id] => 144999925745781 [app_id] => 0 [can_post] => [category] => Food/beverages [checkins] => 0 [has_added_app] => [is_community_page] => [is_published] => 1 [likes] => 0 [link] => http://www.facebook.com/pages/xxxxx/144999925745781 [name] => Prueba Empresa [talking_about_count] => 0 [were_here_count] => 0 )

Es decir, nada del access_token ni nada parecido. En fin, seguiré buscando alguna alternativa. Gracias de todos modos
  #6 (permalink)  
Antiguo 23/04/2013, 12:17
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: Facebook: obtener token de la página no del usuario

Podrías poner el código completo, menos el de las key, así podría ayudarte mejor

Saludos
  #7 (permalink)  
Antiguo 24/04/2013, 02:23
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 5 meses
Puntos: 5
Respuesta: Facebook: obtener token de la página no del usuario

Aquí tienes todo el código, es muy sencillo y corto:

require_once('facebook_2013/src/facebook.php');

$app_id = 'xxxx';
$app_secret = 'xxxx';
$token = 'xxxx';


$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => false
));

$req = array(
'access_token' => $token,
'message' => 'El mensaje',
'link' => 'http://www.ejemplo.com/',
'picture' =>'http://i2.ytimg.com/vi/B0ESuY-KlEs/default.jpg'
);


$page_id = "123456789"; // el id de la página en FB a publicar
$page_info = $facebook->api("/$page_id?fields=");
print_r($page_info);

$res = $facebook->api('/'.$page_info["access_token"]."/feed', 'POST', $req);
?>
  #8 (permalink)  
Antiguo 24/04/2013, 07:46
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: Facebook: obtener token de la página no del usuario

Código PHP:
Ver original
  1. <?php
  2.  
  3. require_once('facebook_2013/src/facebook.php');  
  4.  
  5. $app_id     = 'xxxx';
  6. $app_secret = 'xxxx';
  7. $token = 'xxxx';
  8.  
  9.  
  10.   $facebook = new Facebook(array(
  11.     'appId' => $app_id,
  12.     'secret' => $app_secret,
  13.     'cookie' => false
  14.    ));
  15.    
  16.    $req =  array(
  17.     'access_token' => $token,
  18.     'message' => 'El mensaje',
  19.     'link' => 'http://www.ejemplo.com/',
  20.     'picture' =>'http://i2.ytimg.com/vi/B0ESuY-KlEs/default.jpg'
  21.     );
  22.    
  23.  
  24.    $page_id = "123456789";  // el id de la página en FB a publicar
  25.    $page_info = $facebook->api("/$page_id?fields=access_token");
  26.    
  27.    $res = $facebook->api('/'.$page_id.'/feed', 'POST', $req);  
  28. ?>

Prueba así

Saludos
  #9 (permalink)  
Antiguo 25/04/2013, 01:47
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 5 meses
Puntos: 5
Respuesta: Facebook: obtener token de la página no del usuario

Ya lo probé exactamente así ayer y no me funcionaba. En el array solo me devolvía el id del $page_id. No encuentra el del access_token.
  #10 (permalink)  
Antiguo 25/04/2013, 14:13
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: Facebook: obtener token de la página no del usuario

Perdón vi unos problemas de lógica en el código que puse

Código PHP:
Ver original
  1. <?php
  2.  
  3. require_once('facebook_2013/src/facebook.php');  
  4.  
  5. $app_id     = 'xxxx';
  6. $app_secret = 'xxxx';
  7.  
  8.  
  9.   $facebook = new Facebook(array(
  10.     'appId' => $app_id,
  11.     'secret' => $app_secret,
  12.     'cookie' => false
  13.    ));
  14.      
  15.  
  16.    $page_id = "123456789";  // el id de la página en FB a publicar
  17.    $page_info = $facebook->api("/$page_id?fields=access_token");
  18.    
  19.    $req =  array(
  20.     'access_token' => $page_info['access_token'],
  21.     'message' => 'El mensaje',
  22.     'link' => 'http://www.ejemplo.com/',
  23.     'picture' =>'http://i2.ytimg.com/vi/B0ESuY-KlEs/default.jpg'
  24.     );
  25.  
  26.    $res = $facebook->api('/'.$page_id.'/feed', 'POST', $req);  
  27. ?>

Si no funciona, quizás sea un problema de permisos, elimina tu perfil de la aplicación y vuelve a darte los permisos

Saludos
  #11 (permalink)  
Antiguo 26/04/2013, 03:12
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 5 meses
Puntos: 5
Respuesta: Facebook: obtener token de la página no del usuario

Ya me funciona del todo. Borre la aplicación del todo en developers de facebook y la cree exactamente igual y ya funcionó. No sé porque la de antes no funcionaba porque la he creado exactamente igual y con los mismos permisos. En fin, misterios de la API de Facebook :)

Muchísimas gracias por tu ayuda

Etiquetas: facebook, página, social-media, token, usuario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:20.