examples - La API de Instagram no encuentra ninguna publicación que le guste a los usuarios de la zona de pruebas
instagram graph api (4)
Estoy usando la API de Instagram en el modo de espacio aislado. Estoy intentando acceder a las publicaciones de Me gusta de un usuario de la API de Instagram utilizando su token de acceso autenticado. Este usuario es uno de los usuarios de sandbox aceptados para mi aplicación y le han gustado algunas publicaciones.
Si llamo a otros puntos finales con el mismo token, obtengo algunos datos, pero el acceso a /users/self/media/liked
devuelve datos vacíos.
Estoy usando esta URL:
https://api.instagram.com/v1/users/self/media/liked?access_token={verified access token}
y este es el resultado que estoy recibiendo:
{"pagination": {}, "meta": {"code": 200}, "data": []}
Como tiene un código de retorno de 200, el token de acceso es válido. Entonces, ¿por qué no veo las publicaciones que me gustan?
Cuando su aplicación se comporta en el modo de espacio aislado, es restringida en comparación con el comportamiento normal. En particular (citando de los documentos API para el sandbox ):
La API se comporta como si los únicos usuarios en Instagram fueran sus usuarios de la caja de arena, y los únicos medios publicados fueron los últimos 20 para cada uno de estos usuarios.
Por lo tanto, la API no puede ver las publicaciones que le han gustado al usuario si esas publicaciones fueron realizadas por usuarios que no pertenecen a la zona de pruebas.
Aquí hay un escenario:
Suposiciones
- Digamos que hay 100 usuarios de instagram en todo el mundo (¡sé que es más, solo por ejemplo!).
- Una aplicación llamada APP1 es en vivo y no en modo de espacio aislado .
- Una aplicación llamada APP2 está en modo sandbox [lo que significa que aún no está activo !].
- Hay 5 usuarios de espacio aislado verificado y registrado para APP2.
Ahora, como dijo el documento de Instagram: Aquí estará el flujo de la caja negra.
La situación 1 :: APP1 intenta aceptar usuarios que le gustan para usuarios de sandbox / non-sandbox - Resultado: obtiene sus datos. Motivo: para aplicaciones en vivo, el número de usuarios visibles para la aplicación es la cantidad de usuarios disponibles en instagram.
La situación 2 :: APP2 intenta aceptar los gustos de los usuarios: para el usuario de la zona de pruebas : obtendrá solo los datos (me gusta aquí) para los cuales los usuarios están registrados como usuarios de la zona de pruebas para esta aplicación. Cualquier otro "Me gusta" para usuarios que no sean sandbox no será visible aquí. {Como si existieran 5 usuarios, si alguno de ellos le gusta el contenido de esos 5 usuarios, estará visible.} Para usuarios que no sean sandbox : ¡los usuarios no están visibles!
Me perdí la última parte de la visibilidad , lo que me llevó a investigar y correlacionar para averiguarlo. Supongo que podría haber otros desarrolladores que podrían no haber entendido la visibilidad del usuario de la sandbox como parte del documento.
Si alguien tiene este problema ya que después del 1 de junio, hay una forma de eludir el problema de la zona de pruebas mucho más fácil con instagram.pixelunion.net
Más tarde encontré uno que funciona mejor services.chrisriversdesign.com/instagram-token/
Si sigues recibiendo
{"pagination": {}, "meta": {"code": 200}, "data": []}
para otras llamadas, por ejemplo
https://api.instagram.com/v1/users/self/media/recent?access_token=732...
asegúrese de realizar llamadas a la cuenta pública yendo a Configuración-> Privacidad y seguridad (pestaña) -> Privacidad de la cuenta (sección), desmarcando ''Cuenta privada'' . Instagram redefine la privacidad últimamente con cambios de API más estrictos.
Solución simple, como una de tus fotos de Instagram. De esta forma, sus "Me gusta recientes" aumentarán los "Me gusta" de otro usuario de la zona de pruebas (usted), y no estarán vacíos.