Подтвердить что ты не робот

Instagram API/tags/{tag-name}/media/недавнее изменение поведения

Я работал несколько раз с этой конечной точкой, и кажется, что с этой недели, когда я передаю значение max_id, возникает ошибка:

{
    "meta":  {
        "error_type": "APIInvalidParametersError",
        "code": 400,
        "error_message": "max_id must not be a media id."
    }
}

Я не знаю, где найти, изменилось ли поведение api или просто сломалось.
Ребята, вы не знаете?

Другая ошибка, которую я обнаружил, - это порядок возвращенных Medias, когда я запрашиваю эту конечную точку. Вот пример данных:

#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
]

Изменить: я только что проверил, что клиент instagram python устарел 9 дней назад, и с 23-го марта у вас много вопросов о apooverflow о поведении api. Много совпадений

Instagram/v1/tags/{tag-name}/media/недавняя конечная точка не возвращает min_tag_id в блоке страницы Ошибка 400: неправильный запрос при извлечении json-данных из instagram api через coldfusion Ошибка конечных точек API-тегов - min_id не является допустимым курсором для этого тега

Изменить параметр 2: не может быть больше 33, если не указано иное. Другими словами, максимальное количество записей на страницу составляет 33

Отредактируйте 3: Клиент Python, поврежденный с 1 июня из-за другого изменения недокументированного поведения
  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'


Отредактируйте 3, решив здесь

4b9b3361

Ответ 1

Кажется, что вы передаете медиа-идентификатор как разбивку на страницы. Вы больше не можете этого делать, поскольку Instagram изменила значения разбивки на страницы. Это был идентификатор носителя, но теперь это строка.

Когда вы выполните запрос, вы получите json вот так:

{
    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: {
        ...
    }
}

Просто используйте значение next_max_id как max_tag_id в запросе. Это должно сработать.

Ответ 2

Обходной путь для этого до тех пор, пока Instagram не ответит, что кто-либо должен использовать старый и устаревший next_max_id или next_max_tag_id. Кажется, что max_tag_id полностью исчез в ответе на запрос и заменен на next_max_tag_id.

/tags/{tag-name}/media/recent?access_token={access-token}&next_max_id={next_max_id}