instagram api - examples - API de Instagram/tags/{tag-name}/media/comportamiento cambiado recientemente
instagram graph api (2)
Parece que estás pasando una identificación de medios como paginación. Ya no puedes hacer eso ya que Instagram cambió los valores de paginación. Solía ser una identificación de medios, pero ahora es una cadena.
Cuando hagas la solicitud, recibirás un json como este:
{
pagination: {
next_max_tag_id: ...,
deprecation_warning: "next_max_id and min_id are deprecated for this endpoint; use min_tag_id and max_tag_id instead",
next_max_id: ...,
next_min_id: ...,
min_tag_id: ...
...
},
meta: {
...
},
data: {
...
}
}
Simplemente use el valor max_tag_id
como max_tag_id
en su solicitud. Eso debería funcionar.
Trabajé varias veces con este punto final y parece que desde esta semana, cuando se pasa un valor max_id, se produce un error, dice:
{
"meta": {
"error_type": "APIInvalidParametersError",
"code": 400,
"error_message": "max_id must not be a media id."
}
}
No tengo idea de dónde encontrar si la API ha cambiado el comportamiento o simplemente está roto.
Chicos, ¿tienen alguna idea?
Otro error que he encontrado es el orden de los medios devueltos cuando consulté este punto final. Aquí hay una muestra de datos:
#sample error
[
Media: 1220853576116214570_1383882821
Media: 1220853572180739674_233961632
Media: 1220853571106323542_44255974
Media: 1220853327487332588_16383867
Media: 1220853529276039536_37204591
Media: 1220853517236612185_1342227858
Media: 1220853478513480317_596571
Media: 1220853329006327307_299159508
Media: 1220853296836482014_1829274963
Media: 1220853282356978078_1498664215
Media: 1220853191933038656_528166155
Media: 1220481246711237359_211289081 #MEDIA INCORRECT ORDER
Media: 1220853144521663282_3026017167
Media: 1220853127735637950_619046756
Media: 1220853103550902683_2074401387
Media: 1220853106444172011_3020165605
Media: 1220449359646948005_208916789 #MEDIA INCORRECT ORDER
Media: 1220853071011680880_596571
Media: 1220852985861033044_446238634
Media: 1220852995848611111_3098675456
Media: 1220852944343050919_1126655937
Media: 1220852926209616200_327453609
Media: 1220852902671104371_351483533
Media: 1220852898165133786_207127275
Media: 1220852887618705294_1736270372
Media: 1220852850174855566_1133338201
Media: 1220852831895483805_30557620
Media: 1220851564341433250_1460935835
Media: 1220852721064734213_14247170
Media: 1220852681564341476_1329013696
Media: 1220852647186623946_2143587522
Media: 1220852634988856098_6331807
Media: 1220852621030972511_530287550
]
Edición : Acabo de comprobar que el cliente de Python Instagram ha quedado en desuso hace 9 días, y hay un montón de preguntas de stackoverflow sobre el comportamiento de la API desde el 23 de marzo. Muchas coincidencias
Edición 2: el parámetro de cuenta no puede ser mayor que 33, se omite de lo contrario. En otras palabras, el número máximo de registros por página es de 33.
Edición 3: el cliente de Python está roto desde el 1 de junio debido a otro cambio de comportamiento no documentado
File "/usr/local/lib/python2.7/dist-packages/instagram/bind.py", line 194, in _call
return method.execute()
File "/usr/local/lib/python2.7/dist-packages/instagram/bind.py", line 186, in execute
content, next = self._do_api_request(url, method, body, headers)
File "/usr/local/lib/python2.7/dist-packages/instagram/bind.py", line 148, in _do_api_request
obj = self.root_class.object_from_dictionary(entry)
File "/usr/local/lib/python2.7/dist-packages/instagram/models.py", line 88, in object_from_dictionary
for comment in entry[''comments''][''data'']:
KeyError: ''data''
Editar 3 resuelto here
Una solución alternativa para esto hasta que Instagram responda realmente es usar el next_max_id
o next_max_tag_id
antiguo y obsoleto. Parece que de alguna manera max_tag_id
ha desaparecido completamente en la respuesta de la solicitud y ha sido reemplazado por next_max_tag_id
.
/tags/{tag-name}/media/recent?access_token={access-token}&next_max_id={next_max_id}