Información general

La API Graph es la principal forma de introducir datos en la plataforma de Facebook y extraerlos de ella. Se trata de una API de bajo nivel basada en HTTP que las aplicaciones pueden emplear para consultar datos, publicar historias nuevas, administrar anuncios, subir fotos y realizar varias tareas adicionales mediante programación.

Aspectos básicos

La API Graph recibe su nombre de la idea de “gráfica social”, una representación de la información disponible en Facebook, y se compone de los siguientes elementos:

  • Nodos: básicamente objetos individuales, como un usuario, una foto, una página o un comentario.
  • Perímetros: conexiones entre un conjunto de objetos y un único objeto, como las fotos de una página o los comentarios de una foto.
  • Campos: información sobre un objeto, como el cumpleaños de un usuario o el nombre de una página.

Normalmente, los nodos se usan para obtener información sobre un objeto concreto; los perímetros, para obtener colecciones de objetos correspondientes a un único objeto; y los campos, para recuperar información sobre un único objeto o cada uno de los que componen una colección.

HTTP

La API Graph se basa en HTTP, por lo que es compatible con cualquier lenguaje que cuente con una biblioteca HTTP, como cURL y urllib. Esto significa que puedes usarla directamente en tu navegador. Por ejemplo, solicitar la siguiente URL en tu navegador...

https://graph.facebook.com/facebook/picture?redirect=false

... equivale a realizar esta solicitud cURL:

curl -i -X GET \
 "https://graph.facebook.com/facebook/picture?redirect=false&access_token={valid-access-token-goes-here}"

Identificadores de acceso

Probablemente te habrás fijado en el parámetro access_token y el valor del marcador de posición de la solicitud anterior. La mayoría de las solicitudes a la API Graph requieren un identificador de acceso. Por este motivo, llegará un momento en que deberás saber cómo funcionan (para lo que puedes leer nuestra documentación sobre identificadores de acceso), pero por el momento es suficiente con que conozcas los siguientes datos:

  • Casi todas las solicitudes a la API Graph requieren un identificador de acceso de algún tipo.
  • La forma más sencilla de obtenerlos es implementar el inicio de sesión con Facebook.

En los ejemplos en pseudocódigo de solicitud y respuesta que figuran en la documentación de la API Graph no se hace referencia explícita a ningún identificador de acceso, pero debes asumir que en la solicitud se ha incluido uno poder obtener una respuesta.

Estructura

Este tema se trata en profundidad en la guía Uso de la API Graph, pero en general, puedes:

  • Usar los nodos para obtener información sobre objetos individuales.
  • Utilizar los perímetros para obtener colecciones de objetos conectados a un nodo o publicar objetos en dichos conjuntos.
  • Emplear los campos para especificar la información que quieres que se incluya en las respuestas.

URL del host

Casi todas las solicitudes se pasan a la URL graph.facebook.com del host, a excepción de las cargas de vídeos, en las que se usa graph-video.facebook.com.

Identificadores de objeto

Los nodos son objetos individuales que cuentan con un identificador único. Por tanto, si quieres obtener información sobre ellos, debes realizar una consulta usando directamente su identificador. Por ejemplo, el identificador de la página oficial de Facebook es 20531316728, por lo que, si quieres realizar una consulta sobre la página, deberás usar este número:

GET graph.facebook.com
  /20531316728

Si quieres obtener información específica (denominada “campos”) acerca de un nodo, puedes incluir el parámetro fields y especificar los campos que quieres que se devuelvan en la respuesta. En la referencia del nodo “Page” se explica que uno de los campos que puedes obtener al leer un objeto de este tipo es cover, el cual representa la foto de portada de la página. Este sería el aspecto de la consulta:

GET graph.facebook.com
  /20531316728?fields=cover

La mayoría de los nodos tienen perímetros, que pueden utilizarse para devolver colecciones de objetos conectados a dicho nodo. Para realizar una consulta a un perímetro, debes usar tanto su nombre como el identificador del nodo. Uno de los perímetros que figuran en la referencia del nodo “Page” es photos, el cual devuelve todos los objetos “Photo” (es decir, todas las fotos) que pertenecen a la página. Por tanto, si quieres obtener todas las fotos de la página de Facebook, debes realizar la consulta al perímetro photos del nodo:

GET graph.facebook.com
  /20531316728/photos

Con algunos nodos puedes actualizar los campos mediante operaciones POST. Por ejemplo, si eres administrador de la página de Facebook, puedes actualizar el campo description de esta manera:

POST graph.facebook.com
  /20531316728?description=The%20OFFICIAL%20Facebook%20Page

A menudo, los perímetros te permiten publicar objetos nuevos en las colecciones del nodo mediante operaciones POST. A continuación te mostramos cómo puedes publicar una foto en una colección de estos elementos que pertenece a la página de Facebook:

POST graph.facebook.com
  /20531316728/photos

Evidentemente, la publicación de un objeto en una colección suele requerir campos adicionales con información sobre este, como la URL de la foto, el título o la descripción. En la documentación de referencia del perímetro se indica qué campos son obligatorios y cuáles son opcionales.

Por último, normalmente puedes eliminar un nodo realizando una operación DELETE en el identificador del objeto:

DELETE graph.facebook.com
  /20531316728

Versiones

La API Graph cuenta con varias versiones. Puedes obtener más información sobre ellas en la Guía de versiones de la aplicación.

Realizar una llamada a una versión concreta es muy sencillo: basta con añadir la letra v seguida del número de versión al inicio de la ruta de la solicitud. Este es un ejemplo de llamada a la versión 2.9:

GET graph.facebook.com
  /v2.9/20531316728/photos

Si no incluyes el número de versión, de forma predeterminada se usará el de la más antigua que esté disponible. Por eso, te recomendamos que no te olvides de añadirlo a tus solicitudes.

En el registro de cambios de la API Graph se enumeran todas las versiones disponibles. Puedes filtrar el contenido por versión en la documentación de referencia.

Siguientes pasos

Ahora echemos un vistazo al documento Uso de la API Graph, en el que podrás ver solicitudes más elaboradas con sus respectivas respuestas, así como conocer otras acciones que puedes realizar con esta interfaz.