Github Java API - 搜索存储库

Evg*_*tov 5 github-api

我想根据大小和关键字参数搜索 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,但找不到解决方案。

谢谢!

yeg*_*256 5

尝试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


Jan*_*Ven 1

也许您应该尝试仅搜索关键字。我认为他们不支持尺寸搜索。