在对GitHub API发出一些HTTP请求后,它开始拒绝调用:
xxx.xxx.xxx.xxx超出API速率限制。 (但这是好事 新闻:经过身份验证的请求获得更高的速率限制。看看 文档了解更多详情。)
现在,a way to increase the unauthenticated rate limit for OAuth applications涉及使用client secret
。
当然,我们不希望将client secret
放在前端应用的公共源代码上,文档也建议:
注意:切勿与任何人分享您的客户密码或将其包含在客户端浏览器代码中。此处显示的方法仅用于服务器到服务器的调用。
所以我想知道解决前端应用程序速率限制问题的最佳方法是什么。
答案 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())