Steam Web API GetOwnedGames несколько SteamID - PullRequest
0 голосов
/ 04 апреля 2019

Мы пытаемся получить игры, принадлежащие многим пользователям, но наша проблема в том, что через некоторое время срабатывает лимит вызовов API (100 000 в день), и мы перестаем получать результаты.

Мы используем 'IPlayerService/GetOwnedGames/v0001/?key=APIKEY&steamid=STEAMID' в нашем вызове, и это работает для первых записей.

Существует несколько других запросов, таких как GetPlayerSummaries, которые принимают несколько идентификаторов Steam, но, согласно документации, этот - только один.

Есть ли другой способ объединить / объединить наши запросы?Мы используем Python и библиотеку urllib.request для создания запроса.

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

Как косвенно заявил @andreihondrari в своем комментарии под своим ответом, можно запросить ключ API, который может получать более 100 000 вызовов / день.Об этом говорится в части «Лицензия на Steam Web API и данные Steam» документации :

Вы можете ограничить сто тысяч (100 000) обращений к Steam Web APIв день.Valve может утвердить более высокие дневные лимиты вызовов, если вы придерживаетесь настоящих Условий использования API.

Это может быть сложно, и есть вероятность того, что вы не получите одобрение, но это в значительной степени единственноестабильный путь вы можете пойти.


Более того, теоретически вы можете использовать несколько ключей Steam Web API, НО:
  • Каждый ключ API по-прежнему имеет ограничение в 100 000 вызовов / день, поэтому вам потребуется реализовать отказоустойчивый и переходный процесс.между используемыми ключами и, возможно, потребуется создать много учетных записей.
  • Поскольку у каждого пользователя есть свой собственный список друзей и список заблокированных, ключ API может «видеть» только часть сообщества Steam (данные друзей не являются публичными, в противном случае).Возможно, вы используете один ключ API, который не может «видеть» определенного пользователя, когда вы могли бы использовать другой, чтобы «увидеть» его правильно.
  • Вам понадобится уникальный адрес электронной почты длякаждая созданная учетная запись.

Примечание. Наличие нескольких учетных записей фактически соответствует требованиям Valves ToS в соответствии с этой публикацией на Arqade .

0 голосов
/ 04 апреля 2019

В зависимости от полезной нагрузки запросов у вас есть следующие возможности:

  • , если каждый запрос приносит только самые последние обновления, вы можете сериализовать идентификаторы steam, когда получите ответ, на который вы нажалидневной лимит
  • если у вас есть возможность контролировать с помощью полезной нагрузки запроса, какие данные вы получаете, вы можете использовать многопоточный / многопроцессорный подход, который использует запросы и идентификаторы steam из пары общих ресурсов
...