Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Github API速率限制60,即使在基本身份验证之后_Github_Github Api - Fatal编程技术网

Github API速率限制60,即使在基本身份验证之后

Github API速率限制60,即使在基本身份验证之后,github,github-api,Github,Github Api,我使用以下方法进行了基本身份验证: curl -u "username:password" https://api.github.com 我得到了输出: { "current_user_url": "https://api.github.com/user", "current_user_authorizations_html_url": "https://github.com/settings/connections/applications{/client_id}", "auth

我使用以下方法进行了基本身份验证:

curl -u "username:password" https://api.github.com
我得到了输出:

{
  "current_user_url": "https://api.github.com/user",
  "current_user_authorizations_html_url": "https://github.com/settings/connections/applications{/client_id}",
  "authorizations_url": "https://api.github.com/authorizations",
  "code_search_url": "https://api.github.com/search/code?q={query}{&page,per_page,sort,order}",
  "emails_url": "https://api.github.com/user/emails",
  "emojis_url": "https://api.github.com/emojis",
  "events_url": "https://api.github.com/events",
  "feeds_url": "https://api.github.com/feeds",
  "followers_url": "https://api.github.com/user/followers",
  "following_url": "https://api.github.com/user/following{/target}",
  "gists_url": "https://api.github.com/gists{/gist_id}",
  "hub_url": "https://api.github.com/hub",
  "issue_search_url": "https://api.github.com/search/issues?q={query}{&page,per_page,sort,order}",
  "issues_url": "https://api.github.com/issues",
  "keys_url": "https://api.github.com/user/keys",
  "notifications_url": "https://api.github.com/notifications",
  "organization_repositories_url": "https://api.github.com/orgs/{org}/repos{?type,page,per_page,sort}",
  "organization_url": "https://api.github.com/orgs/{org}",
  "public_gists_url": "https://api.github.com/gists/public",
  "rate_limit_url": "https://api.github.com/rate_limit",
  "repository_url": "https://api.github.com/repos/{owner}/{repo}",
  "repository_search_url": "https://api.github.com/search/repositories?q={query}{&page,per_page,sort,order}",
  "current_user_repositories_url": "https://api.github.com/user/repos{?type,page,per_page,sort}",
  "starred_url": "https://api.github.com/user/starred{/owner}{/repo}",
  "starred_gists_url": "https://api.github.com/gists/starred",
  "team_url": "https://api.github.com/teams",
  "user_url": "https://api.github.com/users/{user}",
  "user_organizations_url": "https://api.github.com/user/orgs",
  "user_repositories_url": "https://api.github.com/users/{user}/repos{?type,page,per_page,sort}",
  "user_search_url": "https://api.github.com/search/users?q={query}{&page,per_page,sort,order}"
}
之后,我使用以下方法检查限制:

curl https://api.github.com/rate_limit
输出:

{
  "resources": {
    "core": {
      "limit": 60,
      "remaining": 0,
      "reset": 1454651040
    },
    "search": {
      "limit": 10,
      "remaining": 10,
      "reset": 1454648425
    }
  },
  "rate": {
    "limit": 60,
    "remaining": 0,
    "reset": 1454651040
  }
}

上限仍然是60。缺少什么?

使用
基本身份验证
,您需要在每次通话中传递用户名/密码。换句话说,要获得经过身份验证的用户的速率限制,请使用

> curl -u "username:password" https://api.github.com/rate_limit

{
  "resources": {
    "core": {
      "limit": 5000,
      "remaining": 4997,
      "reset": 1454652855
    },
    "search": {
      "limit": 30,
      "remaining": 30,
      "reset": 1454649452
    }
  },
  "rate": {
    "limit": 5000,
    "remaining": 4997,
    "reset": 1454652855
  }
}

如果希望获得5000个请求限制,请在github帐户设置中创建一个令牌,并使用以下代码

仅供参考,代码是用Java脚本编写的

let username = "*******";
    let password = "******";
    let auth = "Basic " + new Buffer(username + ":" + password).toString("base64");
    
    var options = {
        host: 'api.github.com',
        path: '/search/repositories?q=google%20maps%20api',
        method: 'GET',
        headers: {
                'user-agent': 'node.js',
                "Authorization": auth
                 }
                 };
    var request = https.request(options, function (res) {
                  }));

还有更好的方法吗?@devツ 您还可以(也可能应该)在设置中生成个人令牌时使用“-u”username:token,因为该令牌可以被撤销,并且只能访问您感兴趣的github API的特定部分。另一个选择可能是最好的,但实现起来也有点复杂。