Showing posts with label Java Facebook OAuth2 get Profile. Show all posts
Showing posts with label Java Facebook OAuth2 get Profile. Show all posts

Java Facebook OAuth2 get Profile

private static final String PROFILE_URL = "https://graph.facebook.com/me?%s&fields=first_name,last_name,email,birthday,gender,bio,name,relationship_status";
private String getProfile(String code, String accessToken) throws Exception {
        StringBuilder sb = new StringBuilder();
        try {

            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpGet getRequest = new HttpGet(String.format(PROFILE_URL, accessToken));
            getRequest.addHeader("oauth2_access_token", code);
            HttpResponse response = httpClient.execute(getRequest);

            if (response.getStatusLine().getStatusCode() != 200) {
                     throw new Exception("Failed : HTTP error code : " + response.getStatusLine().getStatusCode());
            }
            BufferedReader br = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

            String output;

            while ((output = br.readLine()) != null) {
                sb.append(output);
            }
            br.close();
            LOGGER.info("JSON Object" + sb);

        } catch (IOException e) {
            LOGGER.error("Error in getFacebookProfile()", e);
        }
        return sb.length() > 0 ? JsonUtils.getJsonString(JSONValue.parse(sb.toString())) : "{}";
    }