0
http://127.0.0.1:8080/Mailchimp/Access#access_token=^^^^^^^^^^^^^^^^^^^^^^^^^&expires_in=0

这是我的 mailchimp url,如何通过 java 提取 access_token

还有另一种获取访问令牌的方法,但这里得到响应消息 - 错误请求

URL siteUrl = new URL("https://login.mailchimp.com/oauth2/token");
        HttpURLConnection conn = (HttpURLConnection) siteUrl.openConnection();
        conn.setRequestMethod("POST");
        conn.setDoOutput(true);
        conn.setDoInput(true);

        DataOutputStream out = new DataOutputStream(conn.getOutputStream());

        String content = "?grant_type=authorization_code&client_id=^^^^^^^^^^&client_secret=^^^^^^^^^^^^^^^^^^^^^^^^&code="+auth_code+"&redirect_uri=http://127.0.0.1:8080/Mailchimp/Access";

        out.writeBytes(content);
        System.out.println(content);
        out.flush();
        out.close();
        System.out.println(conn.getResponseMessage());
4

1 回答 1

1

# 之后的部分称为“片段”或“参考”。这是提取相关部分的基本方法:

public static String getAccessToken(String uriString) {
    URI uri = URI.create(uriString);
    String[] parameters = uri.getFragment().split("\\&");
    for (String parameter : parameters) {
        String[] parts = parameter.split("\\=");
        if (parts[0].equals("access_token")) {
            if (parts.length == 1) {
                throw new RuntimeException("missing access token");
            }
            return parts[1];
        }
    }
    throw new RuntimeException("no access token");
}
于 2012-05-30T15:13:58.867 回答