github代码搜索api总是返回404

时间:2013-08-29 14:45:49

标签: python api curl github github-api

根据docs,我可以每分钟调用代码搜索API 5次而无需任何凭据。 所以我应该可以使用python请求:

import requests
user_agent = {'User-Agent': 'Awesome-Octocat-App'}
r = requests.get("https://api.github.com/search/repositories?q=chembl", headers=user_agent)

但不幸的是它不行:

r.ok
>>> False
r.status_code
>>> 404

我的标题看起来很好:

r.request.headers
>>> {'Accept': '*/*',
 'Accept-Encoding': 'gzip, deflate, compress',
 'Content-Length': '0',
 'User-Agent': 'Awesome-Octocat-App'}

请允许我添加此链接:

https://github.com/search?q=chembl

返回17个结果。

那么我做错了什么?

2 个答案:

答案 0 :(得分:2)

GitHub搜索API为currently available in "preview mode"。要在预览期间访问API,您必须specify a custom media type in the Accept header

application/vnd.github.preview

预览期允许开发人员在宣布API稳定且适合生产使用之前测试新API并与GitHub分享他们的反馈。预览期从2013年7月19日开始,预计将持续约60天。在预览期的 end ,您将不再需要在Accept标头中指定此自定义媒体类型。

答案 1 :(得分:1)

您可能需要设置特殊的用户代理。 http://developer.github.com/v3/#user-agent-required

编辑:您还必须根据此页面在Accept标头中提供自定义媒体类型:developer.github.com/v3/search