我正在Github上观看392个存储库.但是,Github API只返回100.有没有人知道为什么?
我试图弄清楚如何从Github上的特定提交中获取差异。(基本上,只有一系列与特定提交相关的单个文件差异)。
这个问题上的某些链接帮助我弄清楚了如何在存储库中提取给定文件的内容,但是我无法弄清楚如何为特定的提交提取文件。
或者,更重要的是,如何拉动整个差异(与在Github上查看特定提交时所显示的差不多)。
有没有一种我不希望使用API的简便方法?还是Github的Rails宝石可以做到这样?看了一下Git的宝石,但这似乎并不是我想要的。
我发现这个链接向我展示了如何使用GitHub API获取所有存储库.
http://developer.github.com/v3/repos/#list-all-repositories
但我不知道如何找到所有PHP的存储库.
例如,这只给我们一个选择快照.https://github.com/trending?l=php
如果这是我可以找到多少个存储库的限制,我更愿意获得至少500个拥有最多观星者的PHP存储库.
之后,我想获得每个存储库的观星者和贡献者的列表.
如何使用GitHub API完成此操作?
我正在研究这些存储库的网络效应,所以我需要上面的原始数据.
我有一个私有组织GitHub(企业)存储库,例如github.mycompany.com。
我想使用GitHub API在代码中搜索字符串。如何在mycompany特定的GitHub存储库中搜索?
我在下面尝试查询并收到404:
curl -i -H "Authorization: token <token>" https://github.mycompany.com/api/v3/search/code?q=class
由于我尝试过curl -u <userName>并
我已经为自己构建了一个简历页面,并使用GitHub API列出了我在那里的所有项目.一些项目是有rtfd build passing徽章的文件,有些是有travis-ci和pep-lint徽章的python项目.
现在,我想像项目一样显示徽章,我应该如何使用API?
我正试图像这样查询github api ......
https://api.github.com/search/repositories?q=created:>=2015-07-11&sort=stars&order=desc&perpage=25&page=1
Run Code Online (Sandbox Code Playgroud)
这是我的GET
@GET("/search")
public void getTrending(@QueryMap Map<String,String> filters,Callback<GitResponse> response);
Run Code Online (Sandbox Code Playgroud)
这是我如何设置我的查询Map ...
Map<String,String> searchFilters = new HashMap<>();
searchFilters.put("created>","2015-07-11");
searchFilters.put("sort","stars");
searchFilters.put("order","desc");
searchFilters.put("perpage","25");
searchFilters.put("page", "1");
api.getTrending(Collections.unmodifiableMap(searchFilters), new Callback<GitResponse>() {
@Override
public void success(GitResponse gitResponse, Response response) {
Log.e("tag",response.toString());
}
@Override
public void failure(RetrofitError error) {
Log.e("tag",error.toString());
}
});
Run Code Online (Sandbox Code Playgroud)
这是通过改造格式化的网址.
https://api.github.com/search/repositories?order=desc&created > = 2015-07-11&perpage = 25&sort = stars&page = 1
请注意,params的顺序不会保留.我需要成为created >=查询正常工作的第一个参数.我试过使用,Collections.unmodifiableMap()但没有帮助.在改造文档中,他们使用的是番石榴ImmutableMap.of().我是否必须使用番石榴来保留订单?
我正在查询Github API的一些内部监控界面.我在文档中遇到了新的GraphQL实现,并决定将它用于我的界面.
因此,我准备了这个小的PHP脚本来测试我在下面粘贴的Github GraphQL API.每当我运行脚本时,我总是会遇到"解析JSON的问题"错误.我在这里做错了吗?有人可以帮我突出我正在做的任何错误吗?
<?php
//GRAPHQL request
$postData =<<<‘JSON’
{
“query”: query{
user(login:“tojochacko”) {
name
}
}
}
JSON;
$json = json_encode($postData);
$chObj = curl_init();
curl_setopt($chObj, CURLOPT_URL, ‘https://api.github.com/graphql’);
curl_setopt($chObj, CURLOPT_RETURNTRANSFER, true);
curl_setopt($chObj, CURLOPT_CUSTOMREQUEST, ‘POST’);
curl_setopt($chObj, CURLOPT_POSTFIELDS, $json);
curl_setopt($chObj, CURLOPT_HEADER, true);
curl_setopt($chObj, CURLOPT_VERBOSE, true);
curl_setopt($chObj, CURLOPT_HTTPHEADER,
array(
‘User-Agent: PHP Script’,
‘Content-Type: application/json’,
'Authorization: bearer '.GITHUB_TOKEN
)
);
$response = curl_exec($chObj);
echo $response;
?>
Run Code Online (Sandbox Code Playgroud) 借助GitHub的API v3,可以轻松检索包含所有公共可用存储库的列表。我正在寻找一种使用API v4进行相同操作的方法。
根据API v4参考,我进行了两次尝试:
使用存储库字段。但是此字段需要ownerand name参数。
query {
repository(owner: "", name: "") {
name
}
}
Run Code Online (Sandbox Code Playgroud)搜索所有存储库。但是这个search领域需要query争论。
query {
search(type: REPOSITORY, query: "") {
repositoryCount
}
}
Run Code Online (Sandbox Code Playgroud)这两个示例都需要其他信息,这限制了结果,因此不适合我的目的。有没有一种方法可以使用API v4获取所有公共存储库的(分页)列表?
GitHub的新GraphQL API需要使用令牌作为以前的版本进行身份验证。那么,我们如何在HttpLink里面添加“ Header”信息Apollo-Client呢?
const client = new ApolloClient({
link: new HttpLink({ uri: 'https://api.github.com/graphql' }),
cache: new InMemoryCache()
});
Run Code Online (Sandbox Code Playgroud) 关于如何从github存储库访问/下载特定文件的一个常用技巧是使用rawgit,例如:
curl https://rawgit.com/webmin/webmin/master/os_list.txt
Run Code Online (Sandbox Code Playgroud)
这将为您提供webmin github存储库中文件的当前版本。
不过,对于生产脚本而言,这样做有一个很大的缺点,因为如果经常使用rawgit URL,将会被阻止。在rawgit.com上也有声明:
使用此URL进行开发
您推送到GitHub的新更改将在几分钟内反映出来。过多的流量将被限制并列入黑名单。
我正在与githup支持人员联系,以进行深入的开发后获得畅通无阻,并获得使用github API而不是rawgit的答案!
问题:如何使用github API从github存储库中检索特定文件?