公共网站

时间:2017-01-22 02:16:22

标签: github github-pages github-api

我正在建立一个从GitHub API获取数据的网站,我需要每次访问大约100个请求。在没有要求访问者进行身份验证的情况下,我可以通过任何方式超过60个请求限制吗?

我考虑过对访问令牌进行硬编码,但也许有更安全的解决方案?

(该网站托管在GitHub页面上)

1 个答案:

答案 0 :(得分:1)

  

基本上,我从我的个人资料中提取数据并在投资组合中使用它。我得到了一个我的回购列表,然后遍历该列表以获得更多数据。

通常情况下,您可以通过使用查询缓存和Conditional Requests来减少真正的API调用,但这在客户端Javascript中会很困难。由于您的信息是相当静态的,因此您不需要在每个请求中生成它。您可以通过多种方式缓存数据,即使只需几分钟。

您可以编写自己的小代理服务器,为您执行查询和缓存,可能使用类似rails-api的内容。然后让你的Javascript发出该服务器的请求。但您可能不想运行服务器。

或者,您可以发出请求并将结果放在Github Pages上的缓存文件中。它将包含查询,其内容和必要的缓存信息。然后,Javascript使用它来发出条件请求。您可以在幕后定期更新它并将其推送到Github Pages。这会导致带有缓存的实时数据。

例如......

{
    "/users/fabiosn/repos": {
        "ETag": "644b5b0155e6404a9cc4bd9d8b1ae730",
        "Last-Modified": "Thu, 05 Jul 2012 15:31:30 GMT",
        "Content": [
                     {
                       "id": 79252528,
                       ...
                     }
                   ]
    },
    ...
}