我想列出GitHub存储库。我可以在浏览器中显示JSON,但是当我尝试加载API页面时,我收到403错误:
Warning: file_get_contents(https://api.github.com/search/repositories?q=user:<username>): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden
我的功能如下:
public function repoListAction()
{
$repositories = json_decode(file_get_contents('https://api.github.com/search/repositories?q=user:<put your username here>' ), true);
return $this->render('full/repolist.html.twig', array(
'repositories' => $repositories,
));
}
答案 0 :(得分:1)
GitHub's API documentation列出了403响应代码的几个原因。对于未经身份验证的查询,您可能已达到Github的速率限制。您可以通过查看Random.Next
,X-RateLimit-Limit
和X-RateLimit-Remaining
标题进行确认。您也可能在请求中遗漏了X-RateLimit-Reset
标题。
您可以通过检查回复正文来确认确切的问题,其中包含确切错误和推理的详细信息。