javascript - 公共(public) Github 页面站点上的 Github API 速率限制

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

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

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

由于达到了速率限制,我收到了 403 错误。我了解身份验证会提高我的速率限制,但我希望此站点公开。因此,我有几个问题:

  1. 如果流量增加,任何速率限制都会成为问题。 是否存在可以禁用公共(public)页面速率限制的合理方案?
  2. 如果我要使用我的用户帐户进行身份验证,我将如何在 Github 页面上创建服务器端 token ?我想确认此 token 对客户端不可见。 repo 协议(protocol)在这里:https://github.com/ekatzenstein/d3.js-live
  3. 让最终用户登录 Github 不是一种选择。我希望这是一个低级入门,尤其是对于那些不熟悉 Github 的人。 是否可以绑定(bind)每个用户的速率限制?

迈克博斯托克的 bl.ocks似乎绕过了速率限制,但我不清楚这是如何完成的。

最佳答案

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

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

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

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

关于javascript - 公共(public) Github 页面站点上的 Github API 速率限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41550758/

相关文章:

javascript - 如何使用两个按钮启动和停止执行 JavaScript 脚本?

javascript - 使用 brfs 进行观看和捆绑而不使用 watchify 的命令

javascript - 根据 d3 中文本的上下文设置文本样式

git - 在 git 中跟踪 sqlite3 二进制文件的正确方法?

github - github 上的 Bower 依赖项徽章

javascript - 将 requestAnimationFrame 分配给对象变量时出现类型错误

javascript - Uncaught ReferenceError : require is not defined in React native 0. 59.5

javascript - D3 桑基图使用圆形节点代替矩形节点

javascript - 数据加入d3;我一定没有正确理解选择和/或数据键功能

github - 无法在 sourcetree 和 github 之间获取 SSH key