我想根据大小和关键字参数搜索 Github 存储库。这是我写的Java代码:
package searchTest;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.eclipse.egit.github.core.SearchRepository;
import org.eclipse.egit.github.core.client.GitHubClient;
import org.eclipse.egit.github.core.service.RepositoryService;
public class GithubSearch {
private static Map<String, String> searchQuery = new HashMap<String, String>();
public static void main(String[] args) throws IOException {
GitHubClient client = new GitHubClient();
client.setCredentials("username", "password");
RepositoryService service = new RepositoryService(client);
searchQuery.put("keyword","microsoft");
searchQuery.put("size","304");
List<SearchRepository> searchRes = service.searchRepositories(searchQuery);
System.out.println("Search result "+searchRes.toString());
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到的输出是空的:
Search result []
Run Code Online (Sandbox Code Playgroud)
我检查了GitHub Java API javadoc,但找不到解决方案。
谢谢!
尝试jcabi-github(我是它的开发人员之一):
final Github github = new RtGithub();
final JsonResponse resp = github.entry()
.uri().path("/search/repositories")
.queryParam("q", "java").back()
.fetch()
.as(JsonResponse.class);
final List<JsonObject> items = resp.json().readObject()
.getJsonArray("items")
.getValuesAs(JsonObject.class);
for (final JsonObject item : items) {
System.out.println(
String.format(
"repository found: %s",
item.get("full_name").toString()
)
);
}
Run Code Online (Sandbox Code Playgroud)
完整示例在这里:https ://github.com/jcabi/jcabi-github/tree/master/examples/search-repos
| 归档时间: |
|
| 查看次数: |
5946 次 |
| 最近记录: |