避免请求限制

Avoiding request limits

我正在制作 Windows Phone 应用程序,我可以在其中从 Riot Games API(英雄联盟开发公司)获取一些数据。这意味着我将发送一些请求,但这些请求是有限制的。当许多用户尝试发送请求时,应用程序将很快达到限制。如何避免这种情况?在开发论坛上,他们说我应该创建网络服务器,但我不知道如何做。我安装了 VPS(Linux)。

Web 服务器是一项要求

总而言之,您必须制作一个 Web 服务器。为什么?根据 Riot 的 ToS,您需要确保您的 API 密钥是安全的。如果它存储在 phone 应用程序中,那么任何人都可以打开您的源代码并使用您的密钥。

防暴安全指南:https://developer.riotgames.com/docs/credentials-security

Note that embedding a key in a distributed client application, like a desktop or mobile application, means that your key can be compromised

如何

那么你如何解决这个问题呢?那么你需要一个网络服务器。服务器充当您存储密钥的安全场所,并将充当您实施速率限制的一种方式。

您的 phone phone 应用程序将只有您的 GUI/interface(使其比 运行 更轻),并且您执行的每个请求都会首先访问您的服务器,这将依次击中 Riot API。这意味着您的密钥仅用于您对 Riot API 的服务器请求。您可以为 Web 服务使用一些简单的东西,例如 PHP 或更重的框架,例如 .NET。两者都有许多指南,以及范围广泛的其他语言。

教程

快速 Google 搜索找到了一些教程,下面是一个看起来不错的教程:http://www.asp.net/web-api/overview/mobile-clients/calling-web-api-from-a-windows-phone-8-application

Note: If you do not own Visual Studio, they have a free "express" version that I recommend and use myself: https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx

几乎所有 Web 服务器都做同样的事情,因此您可以查找有关这方面的教程以获取更多一般信息。

祝你好运!