1

根据文档,我可以每分钟调用代码搜索 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 个结果。

那么我做错了什么?

4

2 回答 2

2

GitHub Search API当前以“预览模式”提供。要在预览期间访问 API,您必须在 Accept 标头中指定自定义媒体类型

application/vnd.github.preview

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

于 2013-08-31T17:14:31.007 回答
1

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

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

于 2013-08-29T14:49:32.557 回答