usados seguidores populares pegar para mas los hashtags copiar conseguir instagram instagram-api

seguidores - Recuperando más de 150 comentarios de Instagram



hashtags instagram 2018 (3)

El problema

Me gustaría poder ver todos los comentarios en cualquier parte de los medios de Instagram , incluso si los medios tienen más de 150 comentarios. A partir de ahora, es aparentemente imposible ver más que los 20 comentarios más recientes en un medio en el sitio de Instagram y si uno usa ya sea la Consola API de Instagram o las Bibliotecas API de Instagram , los 150 comentarios más recientes se devuelven sin opciones para paginación o visualización de comentarios de adición.

Lo que he probado

Primero, por supuesto, intenté la consulta documentada de comentarios de medios tanto en la consola proporcionada como en mi propio entorno. En ambos casos, se devolvieron un máximo de 150 comentarios. Perplejo, comencé a buscar más información en línea.

Después de leer detenidamente la documentación de la API de Instagram , probar varios puntos finales en la Consola API de Instagram y leer varias preguntas de StackOverflow en la etiqueta de Instagram y preguntas del Grupo de Google API de Instagram en varios temas de Instagram, me pregunté si había alguna posibilidad de que algo no se documentara Podria intentar.

La documentación de punto final de medios reciente del usuario incluye parámetros para max_id y max_timestamp que permiten la búsqueda a través de los medios más recientes para cualquier usuario dado al recuperar los medios que vienen antes de dicho max_id o max_timestamp . Dado que cada comentario viene con los created_time e id , intenté agregar los parámetros para max_id y max_timestamp (tanto solos como juntos) para varios ID de comentarios y marcas de tiempo en un intento de max_timestamp comentarios. Ninguno de mis intentos funcionó.

Ahora estoy estancado a menos que alguien tenga otra sugerencia.

Ejemplo específico

Utilizando la Consola API de Instagram , di los siguientes pasos para intentar obtener todos los comentarios para esta foto .

  1. Me autenticé para un token OAuth2
  2. Se ejecutó una consulta de búsqueda de usuario para coltonlhaynes para obtener la id: 9610843 usuario id: 9610843
  3. Corrió una consulta de medios reciente del usuario para la identificación del usuario: 9610843 para obtener los medios más recientes
  4. Información recopilada sobre los medios más recientes (la foto vinculada más arriba)
    • id: 698057751201132903_9610843 medios id: 698057751201132903_9610843
    • count: 1375 comentarios count: 1375
  5. Se realizó una consulta de comentario de medios para la identificación de medios: 698057751201132903_9610843 para obtener los comentarios más recientes
  6. Se recopiló información sobre el comentario menos reciente
    • created time: 1397460230
    • id: 698269477955776593 comentario id: 698269477955776593
  7. Se ejecutó una consulta de comentario de medios para la identificación de medios: 698057751201132903_9610843 con las siguientes cadenas adicionales de parámetros de consulta en la página intento a través de comentarios, pero recibió los mismos resultados que el paso # 6
    • ?max_timestamp=1397460230
    • ?max_id=698269477955776593
    • ?max_timestamp=1397460230&max_id=698269477955776593
    • ?max_id=698269477955776593&max_timestamp=1397460230

Tenga en cuenta

Que yo sepa, no hay solución para este problema, pero dado que el Equipo de Desarrollo de Instagram ha declarado que ya no estarán monitoreando el Grupo de Google y que estarán monitoreando StackOverflow en su lugar, lo voy a poner aquí.


Esto no es "hacky" en absoluto.

Como Instagram da el enlace donde puedes recibir todos los comentarios aquí: https://instagram.com/developer/endpoints/comments/

Todo lo que tienes que hacer es enlazar el enlace que Instagram te brinda. Lo he hecho así. Estoy usando el Api para hacerlo de esta manera.

public function getUserMediaComments($id, $limit = 0) { return $this->_makeCall(''media/''.$id.''/comments'', true, array(''count'' => $limit)); }

El $ id es el id_medio de la imagen. Si no aprovecha esa función con la ID de la imagen, recibirá todos los comentarios.

No fue tan difícil cuando me enteré de esta manera.

También podría hacerlo de esta manera mientras avanza sobre eso. :

$comments = json_decode(file_get_contents(''https://api.instagram.com/v1/'' . ''media/''. $image->id . ''/comments?access_token=''. $data->access_token));

Ambos te devuelven una matriz de los comentarios de las imágenes.


La respuesta genérica aquí es " no, eso no es posible a través de endpoints regulares".

Instagram actualizó Límites de tarifas (después del 17 de noviembre de 2015 ). Todos los límites de velocidad en la plataforma de Instagram se controlan por separado para cada token de acceso y en una ventana deslizante de 1 hora. Las aplicaciones en vivo tienen límites de frecuencia más altos que las aplicaciones en el modo de espacio aislado.

Cuáles son las siguientes limitaciones en el contexto global:

Límites de tasa global

Los límites de velocidad global se aplican incluyendo todas las llamadas API realizadas por una aplicación por token de acceso en la ventana deslizante de 1 hora , independientemente del punto final en particular. Los límites de frecuencia también se aplican a las solicitudes no válidas o mal formadas.

  • Sandbox LÍMITE DE FRECUENCIAS: 500 / hora
  • LÍMITE DE VELOCIDAD EN VIVO: 5000 / hora

Más limitaciones por separado para puntos finales de comentarios:

Límites de velocidad específicos del punto final

Los puntos finales utilizados para publicar (POST o DELETE) tienen límites de velocidad que se aplican por punto de punto. Todas las llamadas realizadas a estos puntos finales por su cliente OAuth también se cuentan para los límites globales de tarifas mencionados anteriormente.

  • Sandbox / media / media-id / comments : 30 / hora
  • En vivo / media / media-id / comentarios : 60 / hora

Si su aplicación excede cualquiera de estos límites de frecuencia, recibirá una respuesta con un código de respuesta HTTP de 429 (Too Many Requests) .

Tan pronto como la Plataforma de Instagram lo controle por access token , es posible que logre límites más grandes utilizando multi-threading con tokens de acceso múltiple. Pero tiene advertencias: 1. no todo podría ser paralelo a los tokens de acceso múltiple, ya que el contexto será diferente. 2. Podría contradecir con la política de la plataforma y los TOS


Ok, esta va a ser una solución muy "Hacky", y actualmente no estoy configurado para hacer esto (debido a la falta de ADSL en mi hogar) pero puedo proporcionar una guía paso a paso sobre cómo abordaría este problema.

Antes que nada, necesitarás una herramienta llamada "Charles Web Debuging Proxy"

Hay un tutorial en el sitio sobre cómo habilitar la "depuración de SSL" en charles, (que requerirá que instale un nuevo "certificado raíz" en su dispositivo móvil, para engañarlo y pensar que las transacciones https firmadas por charles en realidad están firmadas por instagram.com)

Ahora configure su dispositivo móvil para enrutar todas las solicitudes a través de dicho proxy (que deberá instalarse en su red wi-fi local).

vaya a https://www.google.com y compruebe que charles está registrando solicitudes y respuestas.

Una vez que todo esté configurado correctamente, entonces puede echar un vistazo a las llamadas API que la aplicación de instagram usa para generar dichas páginas de comentarios.