在向 GitHub API 发出一些 HTTP 请求后,它开始拒绝调用,并显示:
xxx.xxx.xxx.xxx 超出 API 速率限制。 (但是这里有一个好处
新闻:经过身份验证的请求获得更高的速率限制。查看
文档以获取更多详细信息。)
现在,有一种提高 OAuth 应用程序未经身份验证的速率限制的方法 https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications其中涉及使用client secret
.
当然我们不想放或client secret
在前端应用程序的公共源代码上,正如文档所建议的那样:
注意:切勿与任何人分享您的客户端密钥或将其包含在客户端浏览器代码中。仅将此处显示的方法用于服务器到服务器的调用。
所以我想知道解决前端应用程序中速率限制问题的最佳方法是什么。
这是一个相当老的问题,但是我设法将限制从 60 扩展到 5000。我将client_secret
to Header:Authorization
- 这是我的私人应用程序,所以我不关心安全性。寻找解决方案,我发现你可以把mode='cors'
to initRequest
你可以发送CORS
向 GitHub API 请求。
TypeScript 类示例:
Typescript 简单类示例
例如:
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())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)