公共Github Pages站点上的Github API速率限制

时间:2017-01-09 14:57:51

标签: javascript d3.js github github-pages github-api

我在这里设置了一个github页面网站:http://d3js.live

这使用github api获取d3.js示例的要点。最终外观和功能与此站点类似:http://threejs.live

由于我的速率限制被点击,我收到403错误。我知道验证会增加我的速率限制,但我希望这个网站是公开的。因此,我有几个问题:

  1. 如果流量增加,任何费率限制都将成为问题。 是否有合理的方案可以禁用公开页面的费率限制?
  2. 如果我要使用我的用户帐户进行身份验证,如何在Github页面上创建服务器端令牌?我想确认此令牌不会对客户端可见。回购在这里:https://github.com/ekatzenstein/d3.js-live
  3. 让最终用户登录Github不是一个选择。我希望这是一个低级别的入门,特别是对那些不熟悉Github的人。 是否可以将每个用户的费率限制联系起来?
  4. 迈克博斯托克的bl.ocks似乎已经达到了速度限制,但我不清楚这是如何完成的。

1 个答案:

答案 0 :(得分:1)

绕过限制的最佳方法是编写一个简单的后端,向GitHub(或任何人)发出API请求,将这些结果缓存一段时间以保持低于速率限制,然后提供所有必需的服务从该请求到您的用户的资产。

如果您的JavaScript是多态的,那么将您已有的大部分内容放在NodeJS服务器中应该是相当简单的。

作为一般规则,无论如何,可能是这样的工具应该做什么。当然,鉴于需要权衡,可以采用任何一种方式进行论证。

这就是bl.ocks似乎所做的事情。例如。