如何通过Java代码连接到github企业存储库?

时间:2019-02-05 15:47:04

标签: java github

我想知道如何获取github企业版(私有)中存在的所有存储库的列表。我无法确定我应该如何使用个人访问令牌通过Java代码获得身份验证。

我已经尝试使用公共存储库,并且能够使用其中的所有内容,但是我无法在企业github上做到这一点。

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import org.apache.commons.codec.binary.Base64;

public class httpget {

    public static void main(String args[]) throws IOException, ParseException,JSONException
    {
        URL url=new URL("https://github---.com/api/v3/...");
        HttpURLConnection conn=(HttpURLConnection)url.openConnection();
        String token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
        String authString="Basic"+Base64.encodeBase64(token.getBytes());
        conn.setRequestProperty("Authorization", authString);
        conn.connect();
        String inline="";

        Scanner sc = new Scanner(url.openStream());
        while(sc.hasNext())
        {
            inline+=sc.nextLine();
        }
        sc.close();
        System.out.println(inline);

      }
}

1 个答案:

答案 0 :(得分:0)

在Java中做到这一点的最好方法是使用可用的Java API之一,而无需进行剩余身份验证。 github页面列出了所有API:

https://developer.github.com/v3/libraries/

您有2个Java有趣的API:

egit-github:https://github.com/eclipse/egit-github/tree/master/org.eclipse.egit.github.core

kohsuke:http://github-api.kohsuke.org/

egit-github似乎很容易使用...