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á.

20 de noviembre de 2017

Mi servidor DNS se ha caído

Si eres el administrador de la red y tienes un servidor DNS propio, sabrás que lo peor de esto son las contínuas llamadas de los usuarios quejándose y presionándote para que vuelvas a dejarlo todo tal y como estaba.

Pues bien, propongo una solución temporal, sencilla y rápida que os servirá para calmar el ambiente hasta que podáis solucionar el problema de vuestro servidor DNS:

¡Ojo! Hay que asegurarse de que realmente nuestro servidor DNS no responda a ping, si no, habría una ip duplicada y conflicto en la red.

1. Descarga Simple DNS Plus de su web. Podrás usarlo durante 30 días de manera gratuita.
2. Anota tu DNS, en mi caso mi servidor DNS es: 192.168.1.5
3. Elige un PC que tengas libre, aunque en mi caso lo hice con el mismo PC con el que trabajo habitualmente.
4. Añade una nueva ip a la tarjeta de red de este equipo que será el nuevo servidor, así:
  • Panel de Control –> Redes e internet -> Conexiones de RED. 
  • Botón derecho sobre la conexión que esté activa -> Propiedades -> Doble Clic en Protocolo de internet versión 4 (TCP/IPv4) -> Opciones avanzadas
  • En el apartado “Direcciones IP” – Agregar
  • Aquí ponemos la IP de nuestro servidor DNS que está caído y su máscara de red, agregar y listo.
  • Ya tenemos nuestra tarjeta de red configurada para que nuestro equipo sirva como servidor DNS.
5. Ahora, simplemente abrimos el programa Simple DNS Plus. Se iniciará el servicio automáticamente. Ya deberían volver a navegar todos los clientes, pasando por nuestro equipo.