2015-02-09 203 views
4

我想获取存储库或文件的列表,其中存储库中包含的文件的内容与我在搜索中指定的关键字匹配。我尝试使用https GET请求进行简单的搜索,它看起来像搜索不可能,没有指定存储库或组织名称。我得到下面的错误。使用github搜索api而不指定存储库或组织

https://api.github.com/search/code?q=authorization+in:file 

{ 
    "message": "Validation Failed", 
    "errors": [ 
    { 
     "message": "Must include at least one user, organization, or repository", 
     "resource": "Search", 
     "field": "q", 
     "code": "invalid" 
    } 
    ], 
    "documentation_url": "https://developer.github.com/v3/search/#search-code" 
} 

据我所知,没有存储库或组织名称的搜索将是资源密集型操作。有没有解决这个问题的方法?我假设,因为我能够通过使用在线搜索获得结果,我应该能够使用git search api实现相同的效果。

所以基本上我试图模仿下面:

https://github.com/search?utf8=%E2%9C%93&q=authorization&type=Code&ref=searchresults

+1

我觉得这个文档并没有完整的实际限制。不幸。我也认为,及时获得可靠答案的最佳方法是使用官方联系方式,并具体询问他们。并在这里自我回答。 – luk32 2015-02-09 04:59:48

+0

@ luk32是啊!我去做。我只是在想,如果有人有更好的主意。我在想如果任何谷歌搜索API可以帮助。我可以通过网站搜索,看看它是否有效。就像我们在谷歌搜索中做的“关键字网站:github.com”。听起来很疯狂,但只是想一想!需要寻找替代品。 – Zack 2015-02-09 05:05:33

回答

3

有没有变通的呢?我假设,因为我能够通过使用在线搜索获得结果,我应该能够使用git search api实现相同的效果。

您观察到的行为现在预计 - 您确实需要在使用代码搜索API(使用Web UI时不需要执行的操作)指定用户,组织或存储库,以及目前没有办法解决这个问题。

https://developer.github.com/changes/2013-10-18-new-code-search-requirements/

+0

你知道是否有办法只获取统计数据?比如,结果数量,前10种语言以及每种结果的数量等等? – yuvi 2016-03-31 19:08:17