Ad

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.

Ad

Answer

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.

Ad
source: stackoverflow.com
Ad