Facebook auth with firebase get User data

I am trying to use Firebase authentication with Facebook.

I have successfully implemented the login part and stuck while getting the user details from facebook using accessToken.

Here is the code:

loginButton.setReadPermissions("email", "public_profile"    );
        loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
            @Override
            public void onSuccess(final LoginResult loginResult) {
                Log.d(TAG, "facebook:onSuccess:" + loginResult);
                GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
                            @Override
                            public void onCompleted(JSONObject me, GraphResponse response) {
                                Log.e("FBRESPONSE",me.toString());
                                if (response.getError() != null) {
                                    // handle error
                                } else {
                                    if (me.has("picture")) {
                                        try {
                                            f_photo = me.getJSONObject("picture").getJSONObject("data").getString("url");
                                        } catch (JSONException e) {
                                            e.printStackTrace();
                                        }
                                    }
                                    f_email = me.optString("email");
                                    String id = me.optString("id");
                                    f_name=me.optString("first_name")+" "+me.optString("last_name");;
                                    handleFacebookAccessToken(loginResult.getAccessToken());
                                }
                            }
                        }).executeAsync();
            }
        });

This is the JSON response i get when called this.

E/FBRESPONSE: {"name":"Vishnu Reddy","id":"855235691328214"}

How do i get email, profile picture URL?

Please help. Thanks in advance.

Upvotes: 0

Views: 1239

Answers (1)

Viktor Stojanov
Viktor Stojanov

Reputation: 708

You need to use the Facebook Graph API. You need to have your user signed in and call the AccessToken.refreshCurrentAccessTokenAsync(); and initiate a request to the user data-fields you need.

Upvotes: 1

Related Questions