从API

时间:2016-02-04 20:36:05

标签: api steam steam-web-api

我对使用公共API非常陌生,我遇到了一个问题,我不太清楚如何处理。最重要的是我在谷歌表格上注册了,我将在游戏之夜注册约100-150名玩家。当发生这种情况时,我需要通过它们并确保所有150个人拥有游戏并且在游戏中至少玩了50个小时,这是我对付越来越多的smurf帐户的措施。

因此我在我的服务器上编写了一些代码,这些代码将查看提供的Steam ID,然后获取他们拥有的游戏以及他们玩的小时数。有了这个,我确定了有问题的游戏然后我只是给出通过或失败。

虽然这一切都很好看但我很担心我发送的请求数量以及我是否应该以不同的方式处理这个问题。现在,如果我有150名玩家,我会发送150个请求到蒸汽,这似乎是不正确的事情。

通过他们的API查看,我无法找到任何可以归还我的游戏所拥有的游戏的方法。因此,我唯一能做的就是我上面所描述的。

我的问题是:

使用Steam API的公共API时,是否可以使用我上面的方法?发送如此多的请求会让我被黑名单列为潜在的垃圾邮件发送者,或者在我应该开始担心之前该数字是什么?

2 个答案:

答案 0 :(得分:1)

是的,使用您的方法绝对可以。

<强> Steam Web API

来自Steam Web API Terms of Use

  

您只能拨打十万(100,000)次来Steam   每天使用Web API。

在使用公共API(不仅仅是Steam)时,请始终注意使用条款。

如果您达到该号码,可能开始担心。然后,可能发生的最糟糕的事情是您的请求将不再被满足,并且您的API密钥可能会被撤销(这是其中的原因之一)。

有人猜测Web API有进一步的限制:

<强> Steam Community Data

  

警告:不推荐使用社区XML数据。我们建议尽可能使用Web API。

很可能社区数据的速率限制要低得多,因为建议使用Web API。

注意:

在开发completionist.me的同时,我从未遇到任何这些限制。它一次是30,000 /天,并没有发生一个不满意的请求(至少不是由速率限制引起的)。

如果您想确保在客户端使用作业队列进行限制以控制请求率,并在一段时间后重试失败的作业(API请求)。

鉴于API已得到很好的实施,在遇到任何“麻烦”之前,您会看到HTTP 429 - Too Many Requests。据我所知,这不是Steam的Web API的情况。如果发生错误(大部分时间),它会以HTTP 403静默失败。

答案 1 :(得分:0)

在像Steam这样的主要提供商的环境中,每天发送150个API调用并不算什么。如果您的服务变得健谈,他们将开始限制您的请求,但Steam的截止时间应该大约是每秒一个请求。

如果API提供批量调用或查询调用,则最好使用它。例如,GetPlayerSummaries应该允许您在一次调用中提供多个steamids。为了获得详细信息,据我所知,Steam不提供批处理API,使您正在以正确的方式处理事情。

(切向评论:您可能想要考虑这是否是实现目标的最佳方式,或者是否更改游戏设计/配对等以使smurf帐户价值降低可能更有效地解决问题在它的根。)