Primeros pasos

En este documento se explica cómo llamar a la API Graph de Instagram con la aplicación y obtener objetos multimedia de una cuenta empresarial o de creador de Instagram. Se supone que estás familiarizado con la API Graph y el inicio de sesión con Facebook, y que sabes cómo hacer llamadas a la API de REST. Si todavía no tienes ninguna aplicación, puedes usar el explorador de la API Graph en su lugar y omitir los pasos 1 y 2.

Antes de empezar

Necesitarás acceso a:

1. Configurar el inicio de sesión con Facebook

Añade el producto de inicio de sesión con Facebook a tu aplicación en el panel de aplicaciones.

Puedes dejar todas las opciones de configuración con su valor predeterminado. Si implementas el inicio de sesión con Facebook manualmente (cosa que no recomendamos), escribe el valor de redirect_uri en el campo URI de redirección de OAuth válidos. Si vas a utilizar uno de nuestros SDK, puedes dejarlo en blanco.

2. Implementar el inicio de sesión con Facebook

Sigue nuestra documentación sobre el inicio de sesión con Facebook para tu plataforma e impleméntalo en tu aplicación. Configura la implementación para solicitar estos permisos:

3. Obtener un identificador de acceso de usuario

Una vez implementado el inicio de sesión con Facebook, asegúrate de tener la sesión iniciada en tu cuenta de desarrollador de Facebook, accede a la aplicación y activa el cuadro de diálogo del inicio de sesión con Facebook. Recuerda que tu cuenta de desarrollador de Facebook debe poder realizar tareas en la página de Facebook conectada a la cuenta de Instagram que quieres consultar.

Después de activar el cuadro de diálogo, haz clic en Aceptar para conceder a tu aplicación los permisos instagram_basic y pages_show_list.

La API debe devolver un identificador de acceso de usuario. Captura el identificador para que la aplicación lo pueda usar en las próximas consultas. Si utilizas el explorador de la API Graph, se capturará automáticamente y se mostrará en el campo Identificador de acceso como referencia:

4. Obtener las páginas del usuario

Consulta el extremo GET /me/accounts (se traduce en GET /{user-id}/accounts, que realiza una solicitud GET en el nodo de usuario de Facebook, en función del identificador de acceso).

curl -i -X GET \
 "https://graph.facebook.com/v19.0/me/accounts?access_token={access-token}"

Debería devolver una colección de páginas de Facebook en las que el usuario de Facebook actual pueda realizar las tareas MANAGE, CREATE_CONTENT, MODERATE o ADVERTISE:

{
  "data": [
    {
      "access_token": "EAAJjmJ...",
      "category": "App Page",
      "category_list": [
        {
          "id": "2301",
          "name": "App Page"
        }
      ],
      "name": "Metricsaurus",
      "id": "134895793791914",  // capture the Page ID
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT",
        "MANAGE"
      ]
    }
  ]
}

Captura el identificador de la página de Facebook que está conectada a la cuenta de Instagram que quieres consultar. Ten en cuenta la posibilidad de que los usuarios de tu aplicación puedan realizar tareas en varias páginas, lo que te obligará a introducir lógica que pueda determinar el identificador de la página correcto que se debe capturar (o a crear una interfaz de usuario donde los usuarios de tu aplicación puedan identificar la página correcta por ti).

5. Obtener la cuenta empresarial de Instagram de la página

Usa el identificador de página que capturaste para consultar el extremo GET /{page-id}?fields=instagram_business_account:

curl -i -X GET \
 "https://graph.facebook.com/v19.0/134895793791914?fields=instagram_business_account&access_token={access-token}"

Esto debería devolver el usuario de Instagram (una cuenta empresarial o de creador de Instagram) que está conectado a la página de Facebook.

{
  "instagram_business_account": {
    "id": "17841405822304914"  // Connected IG User ID
  },
  "id": "134895793791914"  // Facebook Page ID
}

Captura el identificador de usuario de Instagram.

6. Obtener los objetos multimedia de la cuenta empresarial de Instagram

Usa el identificador de usuario de Instagram que capturaste para consultar el extremo GET /{ig-user-id}/media:

curl -i -X GET \
 "https://graph.facebook.com/v19.0/17841405822304914/media?access_token={access-token}"

Esto debería devolver los identificadores de todos los objetos multimedia de Instagram en el usuario de Instagram:

{
  "data": [
    {
      "id": "17918195224117851"
    },
    {
      "id": "17895695668004550"
    },
    {
      "id": "17899305451014820"
    },
    {
      "id": "17896450804038745"
    },
    {
      "id": "17881042411086627"
    },
    {
      "id": "17869102915168123"
    }
  ],
  "paging": {
    "cursors": {
      "before": "QVFIUkdGRXA2eHNNTUs4T1ZAXNGFxQTAtd3U4QjBLd1B2NXRMM1NkcnhqRFdBcEUzSDVJZATFoLWtXMWZAGU2VrRTk2RHVtTVlDckI2NjN0UERFa2JrUk4yMW13",
      "after": "QVFIUmlwbnFsM3N2cV9lZAFdCa0hDeV9qMVliT0VuMmJyNENxZA180c0t6VjFQVEJaTE9XV085aU92OUFLNFB6Szd2amo5aV9rTlVBcnNlWmEtMzYxcE1HSFR3"
    }
  }
}

Si puedes realizar esta consulta final correctamente, deberías poder realizar consultas con cualquiera de los extremos de la API Graph de Instagram. Solo tienes que consultar nuestras distintas guías y referencias para aprender qué puede hacer cada extremo y los permisos necesarios.

Siguientes pasos

  • Desarrollar más la aplicación para poder usar correctamente cualquier otro extremo que necesite y hacer un seguimiento de los permisos que requiere cada extremo
  • Completar el proceso de revisión de la aplicación y solicitar la aprobación de todos los permisos que necesita tu aplicación para que los usuarios puedan concederlos mientras esta se encuentra en modo publicado
  • Cambiar la aplicación al modo publicado y promocionarla a posibles usuarios

Una vez que la aplicación esté en modo publicado, cualquier usuario de Facebook para el que hayas hecho disponible la aplicación podrá acceder a los datos de una cuenta empresarial o de creador de Instagram siempre y cuando tenga una cuenta de usuario de Facebook que pueda realizar tareas en la página conectada a dicha cuenta empresarial o de creador de Instagram.