Получаете все отзывы от Steam с помощью Steamworks?
В настоящее время я пытаюсь получить все обзоры Steam от конкретной игры, используя метод, описанный в документации Steamworks: https://partner.steamgames.com/doc/store/getreviews
Тем не менее, когда я пытаюсь получить отзывы о такой игре, как Team Fortress 2, например, используя метод: http://store.steampowered.com/appreviews/440?json=1 я всегда получаю 20 отзывов из-за параметра start_offset.
Есть ли способ получить все отзывы в одной команде метода или мне нужно создать цикл с другим start_offset?
1 ответ
Похоже, Steam изменил API и теперь start_offset
не работает, поменяли на cursor
. вот дополнительная информация:https://partner.steamgames.com/doc/store/getreviews
простыми словами: вы отправляете, например. http://store.steampowered.com/appreviews/10?json=1&cursor=* и взамен вы получаете JSON со следующим курсором, который вам нужно проанализировать и использовать в следующем URL-адресе.
например. "cursor": "AoIIPwYYanDTv+QB"
также вам нужно не забыть кодировать курсор, чтобы следующий вызов был похож на http://store.steampowered.com/appreviews/10?json=1&cursor=AoIIPwYYanDTv%2BQB
Таплар правильно упомянул это в своем комментарии. start_offset - reviews are returned in batches of 20, so pass 0 for the first set, then 20 for the next set, etc.
Вам нужно использовать смещение следующим образом:
- http://store.steampowered.com/appreviews/10?json=1&start_offset=0
- http://store.steampowered.com/appreviews/10?json=1&start_offset=20
- http://store.steampowered.com/appreviews/10?json=1&start_offset=40
Для такой игры, как DOTA 2, есть более 650 000 обзоров. Если вы представляете себя на месте Valve, имеет смысл ограничить вызовы API. Поэтому я могу с уверенностью сказать, что не существует API для всех обзоров одновременно.