21 de noviembre de 2017

Token page que nunca expira en Facebook

¿Cómo publicar en mi página de Facebook desde una aplicación externa?


Tenía pendiente esta entrada porque hace unos años tuve que hacerlo pero no encontré demasiada información sobre esto y la poca que encontré, no estaba muy clara.

Si ya habéis indagado por internet, seguro que habéis llegado a la conclusión de que para ello necesitáis un token que nunca expire, el problema es que en principio, sólo puedes generar tokens de acceso de una hora o como mucho, dos meses.

Entonces, ¿Cómo hago para conseguir generar un token que nunca expire?

Entiendo que si has llegado hasta aquí, ya sabes cómo funciona la herramienta de Facebook para desarrolladores, si no, entra en https://developers.facebook.com, regístrate y crea una nueva aplicación, en mi caso, yo he creado la aplicación "APP TEST".


En resumen, el objetivo es conseguir 3 identificadores necesarios para crear una url con la que generaremos un token de 2 meses. A partir de este token de 2 meses, podremos generar el deseado token page que nunca expira. Estos identificadores son:
  • APP-ID o identificador de la aplicación.
  • APP-SECRET o clave secreta de la aplicación.
  • User Access Token
Y la url:
https://graph.facebook.com/v2.0/oauth/access_token?grant_type=fb_exchange_token&client_id=[APP-ID]&client_secret=[APP-SECRET]&fb_exchange_token=[USER-ACCESS-TOKEN]


Pero vayamos paso a paso:

1. Una vez creada la aplicación, ya tenemos dos de las tres variables que necesitamos: el APP-ID y su APP-SECRET, apuntamos ambos identificadores. Seguimos para coneguir el USER-ACCESS-TOKEN.



2. Vamos a https://developers.facebook.com/tools/explorer/ y seleccionamos la aplicación que acabamos de crear.




3. Pinchamos en "Obtener identificador de acceso de usuario", saldrá una ventana que te pedirá qué permisos necesitas que Facebook le de al usuario. Seleccionamos "manage_pages" y a continuación "Obtener identificador de acceso".

Confirmamos también las ventanas de Facebook que nos aparezcan.


4. En este paso, se nos habrá generado un USER ACCESS TOKEN. Si generamos el PAGE ACCESS TOKEN a partir de este USER ACCESS TOKEN, obtendremos un TOKEN válido sólo durante 1 hora, con lo cual, seguimos:




5. Hasta aquí, ya tenemos el APP ID, el SECRET ID y el USER ACCESS TOKEN. Estos 3 valores debemos susituirlos en la url que mencionamos antes y pegarla en nuestro navegador. Nos generará un nuevo token de acceso que expira en 2 meses o lo que es lo mismo, 5184000 segundos.

https://graph.facebook.com/v2.0/oauth/access_token?grant_type=fb_exchange_token&client_id=[APP-ID]&client_secret=[APP-SECRET]&fb_exchange_token=[USER-ACCESS-TOKEN]



6. Copiamos este nuevo access token, volvemos a la API GRAPH de Facebook y lo pegamos en el campo "identificador de acceso".


7. En la casilla de abajo, donde se encuentra la llamada GET, escribimos "me/accounts" y pulsamos "Enviar".
Esto nos mostrará un listado de todas nuestras páginas (si es que tenemos más de una) y en cada una de ellas, su correspondiente page token que no expirará nunca.



8. Para comprobar que efectivamente, se trata de un token que nunca expira, copiamos el token de la página que queramos, entramos en https://developers.facebook.com/tools/debug/accesstoken y lo pegamos. Ahí nos dirá cuándo expirará.

No hay comentarios:

Publicar un comentario