我在这里设置了一个 github 页面站点:http://d3js.live
这使用 github api 获取 d3.js 示例的要点。最终外观和功能类似于此站点:http://threejs.live
由于达到了速率限制,我收到了 403 错误。我了解身份验证会提高我的速率限制,但我希望此站点公开。因此,我有几个问题:
- 如果流量增加,任何速率限制都会成为问题。 是否存在可以禁用公共(public)页面速率限制的合理方案?
- 如果我要使用我的用户帐户进行身份验证,我将如何在 Github 页面上创建服务器端 token ?我想确认此 token 对客户端不可见。 repo 协议(protocol)在这里:https://github.com/ekatzenstein/d3.js-live
- 让最终用户登录 Github 不是一种选择。我希望这是一个低级入门,尤其是对于那些不熟悉 Github 的人。 是否可以绑定(bind)每个用户的速率限制?
迈克博斯托克的 bl.ocks似乎绕过了速率限制,但我不清楚这是如何完成的。
最佳答案
绕过限制的最佳方法是编写一个简单的后端,向 GitHub(或任何人)发出 API 请求,将这些结果缓存一段时间以保持在速率限制以下,然后提供所有需要的请求从该请求到您的用户的 Assets 。
如果您的 JavaScript 是多态的,那么将您已有的大部分内容放在 NodeJS 服务器中应该是相当简单的。
作为一般规则,无论如何,这可能像这样的工具应该做的。当然,鉴于需要权衡取舍,可以采用任何一种方式进行论证。
例如,这就是 bl.ocks 似乎在做的事情。
关于javascript - 公共(public) Github 页面站点上的 Github API 速率限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41550758/