El pasado 8 de agosto de 2016 Facebook ha migrado su plataforma de desarrollo de aplicaciones Graph API y consumo de servicios a la versión 2.7, previamente anunciada en Julio 13 de 2016. Esta actualización incluye cambios en los API’s del lado servidor (FB), el SDK para Javascript, los dialogs y otros servicios.
Esta actualización inhabilita de forma automática FBSQL o el la forma de consumir los servicios de Facebook por medio de SQL estructurado. Es decir, todas las consultas al API de forma programática por SQL han sido deprecadas. Por lo que es necesario hacer los cambios necesarios en las aplicaciones para web, iOS, Android y demás plataformas para utilizar Facbook Graph API para garantizar su funcionalidad.
Puedes hacer la migración de dos formas: puedes hacer los cambios manualmente en tu aplicación si la misma no utiliza alguno de los SDK. O bien puedes utilizar la herramienta de migración de Apps disponible en el portal de desarrolladores de Facebook “Facebook for developers”.
Si utilizas el SDK para javascript de forma local, es necesario que descargues la nueva versión desde el portal.
Las aplicaciones creadas con Graph API 2.0 será migradas de forma automática a la versión 2.1. Si tu aplicación no ha sido migrada de forma automática, debes utilizar la herramienta de migración disponible en el portal de Facebook.
La nueva documentación de Facebook te permite conocer los nuevos objetos disponibles así como las rutas de consumo del API. Entre las nuevas características en la versión 2.7 tenemos:
- Restricción de audiencias para Live Videos
- Live stream ilimitado
- Mas recursos y datos de Page Insights
- Actualización de los Ad Placements
- Nuevas métricas para Facebook pages para follow/unfolllow
- Nuevos campos para webhooks
- Soporte geotargeting para videos y publicaciones
Facebook ha garantizado la estabilidad de la nueva versión del API durante los próximos dos años.
Para quienes utilizan FBSQL y cURL para consultar datos de Facebook Pages como contador de likes, mensajes, comentarios, medias y post. Necesitan utilizar el URL del Graph API y no las consultas SQL.
Por ejemplo, si tienes un FBSQL para consultar el ultimo post de facebook para colocarlo en tu website, intranet o app para smarthphones, en vez de enviar una consulta SQL a graph.facebook.com/fql?q={tuconsultasql}, deberás utilizar el formato API endpoint, de esta forma lo haríamos con PHP:
$url = "https://graph.facebook.com/v2.7/{PAGE o USER ID}/feed?fields=attachments{media},message&limit=1&access_token={ACCESSTOKEN}; $ch = curl_init($url); curl_setopt( $ch, CURLOPT_POST, false ); curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true ); curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7"); curl_setopt( $ch, CURLOPT_HEADER, false ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); $data = curl_exec( $ch ); $data = json_decode($data);
El objeto jSON resultante incluye el último post con su attachment que puede ser una imagen o un video. Puedes obtener la cantidad de objetos que requieras cambiando el valor del parámetro limit en le URL. De igual forma puedes indicar los campos que deseas retornar desde le API indicando los mismos como valor del parámetro fields separados por coma.
Recuerden verificar todas su aplicaciones en Facebook y las que utilizan el servicio para que todo funcione correctamente.