超出GitHub API限制:如何提高前端应用程序的速率限制

时间:2017-06-06 16:56:17

标签: web-applications frontend github-api

在对GitHub API发出一些HTTP请求后,它开始拒绝调用:

  

xxx.xxx.xxx.xxx超出API速率限制。 (但这是好事   新闻:经过身份验证的请求获得更高的速率限制。看看   文档了解更多详情。)

现在,a way to increase the unauthenticated rate limit for OAuth applications涉及使用client secret

当然,我们不希望将client secret放在前端应用的公共源代码上,文档也建议:

  

注意:切勿与任何人分享您的客户密码或将其包含在客户端浏览器代码中。此处显示的方法仅用于服务器到服务器的调用。

所以我想知道解决前端应用程序速率限制问题的最佳方法是什么。

1 个答案:

答案 0 :(得分:0)

这是一个很老的问题,但我设法将限制从60扩展到5000.我将client_secret放到Header:Authorization - 这是我的私人应用,所以我不关心安全。正在寻找解决方案,我发现您可以将mode='cors'添加到initRequest,并且您可以向GitHub API发送CORS请求。

TypeScript类示例: Typscript简单类exmaple e.g:

export default class AppRequestInit implements RequestInit {

  public method: string = 'GET';
  public headers: Headers = new Headers();
  public mode: RequestMode = 'cors';

  constructor() {
    this.headers.set('Content-Type', 'application/json');
    this.headers.append('Authorization', 'token XXXXXXXXXXXXXXXX');
  }
}

usage: fetch('https://api.github.com/users/USERNAME', new AppRequestInit())