Retrieving the user name and email id from Facebook into my android app

user4510539

I am trying to get the user details like username and email id from the Facebook account who Log in to my android app through Facebook... First i created the code in which user can log in into my app through Facebook...that code i have given below...it is working correctly....but what i have to do to get user details from Facebook

MainActivity.java

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
import android.view.MenuItem;


public class MainActivity extends FragmentActivity {
private MainFragment mainFragment;




@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);



    if (savedInstanceState == null) {
        // Add the fragment on initial activity setup
        mainFragment = new MainFragment();
                 getSupportFragmentManager().beginTransaction().add(android.R.id.content,   mainFragment).commit();
    } else {
        // Or set the fragment from restored state info
        mainFragment = (MainFragment)   getSupportFragmentManager().findFragmentById(android.R.id.content);
    }

}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;

}



@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}


}

MainFragment.java

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.facebook.Session;
import com.facebook.SessionState;
import com.facebook.UiLifecycleHelper;
import com.facebook.widget.LoginButton;


public class MainFragment extends Fragment {
private static final String TAG = "MainFragment";
private UiLifecycleHelper uiHelper;
private LoginButton authButton;

private Session.StatusCallback callback = new Session.StatusCallback() {
    @Override
    public void call(Session session, SessionState state, Exception              exception) {
        onSessionStateChange(session, state, exception);
    }
};

public View onCreateView(LayoutInflater inflater,
                         ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.activity_main, container, false);


    return view;
}


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
   uiHelper = new UiLifecycleHelper(getActivity(),callback);
    uiHelper.onCreate(savedInstanceState);
}

@Override
public void onResume() {
    super.onResume();
    Session session = Session.getActiveSession();
    if (session != null &&
            (session.isOpened() || session.isClosed()) ) {
        onSessionStateChange(session, session.getState(), null);
    }
    uiHelper.onResume();
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    uiHelper.onActivityResult(requestCode, resultCode, data);
}

@Override
public void onPause() {
    super.onPause();
    uiHelper.onPause();
}

@Override
public void onDestroy() {
    super.onDestroy();
    uiHelper.onDestroy();
}

@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    uiHelper.onSaveInstanceState(outState);
}
private void onSessionStateChange(Session session, SessionState state,   Exception exception) {
    if (state.isOpened()) {
        Log.i(TAG, "Logged in...");
       // startActivity(new Intent(getActivity(),     ContentSliderActivity.class));
    } else if (state.isClosed()) {
        Log.i(TAG, "Logged out...");
    }
}

}

user1140237

To get user details from facebook first it will required public_profile permission from user and once user allow you can get it

To get User Details you can user below method.once the session is valid after successfully logged in with user permissions you can get user details by using that session.

private void getUserDetails(final Session session) {
        Request request = Request.newMeRequest(session,
                new Request.GraphUserCallback() {
                    @Override
                    public void onCompleted(GraphUser user, Response response) {
                        if (session == Session.getActiveSession()) {
                            if (user != null) {
                                String id = user.getId();
                                String firstName = user.getFirstName();
                                String lastName = user.getLastName();
                                String name = user.getName();
//**Here you can get details of the user. show toast or display from here
                            }
                        }
                        if (response.getError() != null) {
                            Log.e("ERROR", response.getError()
                                    .getErrorMessage());
                        }
                    }
                });
        request.executeAsync();
    }

Where to apply in your fragment ?. onSessionStateChange method of MainFragment

private void onSessionStateChange(Session session, SessionState state,
            Exception exception) {
        if (state.isOpened()) {
            Log.i(TAG, "Logged in...");
            // Call getUserDetails if session is valid and user successfully
            // logged in
            getUserDetails(session);
        } else if (state.isClosed()) {
            Log.i(TAG, "Logged out...");
        }
    }

MainFragment

public class MainFragment extends Fragment {
    private static final String TAG = "MainFragment";
    private UiLifecycleHelper uiHelper;
    private LoginButton authButton;

    private Session.StatusCallback callback = new Session.StatusCallback() {
        @Override
        public void call(Session session, SessionState state,
                Exception exception) {
            onSessionStateChange(session, state, exception);
        }
    };

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.home1, container, false);

        return view;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        uiHelper = new UiLifecycleHelper(getActivity(), callback);
        uiHelper.onCreate(savedInstanceState);
    }

    @Override
    public void onResume() {
        super.onResume();
        Session session = Session.getActiveSession();
        if (session != null && (session.isOpened() || session.isClosed())) {
            onSessionStateChange(session, session.getState(), null);
        }
        uiHelper.onResume();
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        uiHelper.onActivityResult(requestCode, resultCode, data);
    }

    @Override
    public void onPause() {
        super.onPause();
        uiHelper.onPause();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        uiHelper.onDestroy();
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        uiHelper.onSaveInstanceState(outState);
    }

    private void onSessionStateChange(Session session, SessionState state,
            Exception exception) {
        if (state.isOpened()) {
            Log.i(TAG, "Logged in...");
            // Call getUserDetails if session is valid and user successfully
            // logged in
            getUserDetails(session);
        } else if (state.isClosed()) {
            Log.i(TAG, "Logged out...");
        }
    }

    private void getUserDetails(final Session session) {
        Request request = Request.newMeRequest(session,
                new Request.GraphUserCallback() {
                    @Override
                    public void onCompleted(GraphUser user, Response response) {
                        if (session == Session.getActiveSession()) {
                            if (user != null) {
                                String id = user.getId();
                                String firstName = user.getFirstName();
                                String lastName = user.getLastName();
                                String name = user.getName();
                                Toast.makeText(
                                        getActivity(),
                                        "Name : " + name + " ID  : " + id
                                                + " First name : " + firstName
                                                + " Last Name : " + lastName,
                                        Toast.LENGTH_LONG).show();

                            }
                        }
                        if (response.getError() != null) {
                            Log.e("ERROR", response.getError()
                                    .getErrorMessage());
                        }
                    }
                });
        request.executeAsync();
    }

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Commit without setting user.email and user.name

分類Dev

Open Facebook page from Android app?

分類Dev

Android Gradle Read App Name from strings.xml

分類Dev

How to detect installed Chrome version from my Android App?

分類Dev

How to detect installed Chrome version from my Android App?

分類Dev

Can I force my Android app to update from the Play Store?

分類Dev

NoSuchMethodException when trying to launch my app from Android Studio

分類Dev

Facebook APP用户ID

分類Dev

Retrieving the name of an audio track from a stream

分類Dev

Can't get my android app use facebook although after putting my hash keys

分類Dev

Unable to retrieve email address from Facebook API

分類Dev

Can I localize my whole android app from a button click

分類Dev

How do I get a Joomla user id (which is a number) from user name?

分類Dev

Fetch Facebook friends information like email id and phone number from android app version 4.4

分類Dev

How to get user's id for openning a facebook-profile-page? (Android)

分類Dev

Getting taggable id of a logged user by facebook id

分類Dev

Android delete title from actionbar, delete name app

分類Dev

Retrieving list of users in my Android App through Parse that match my Phone Contact List

分類Dev

Facebook authentication via android app

分類Dev

Open app from Facebook link

分類Dev

Retrieving the id from Model to Controller in Angular JS

分類Dev

Retrieving friends' status updates from Facebook Graph API

分類Dev

mysql retrieving unique id from table with division

分類Dev

check if user name and email in database using expressJS

分類Dev

Size limitation on Facebook App Id

分類Dev

Find user from email address

分類Dev

How can I find my User ID (UID) from terminal?

分類Dev

Php Mysql: Retrieving 2 usernames via 2 user id

分類Dev

Facebook connect API : Get user email

Related 関連記事

  1. 1

    Commit without setting user.email and user.name

  2. 2

    Open Facebook page from Android app?

  3. 3

    Android Gradle Read App Name from strings.xml

  4. 4

    How to detect installed Chrome version from my Android App?

  5. 5

    How to detect installed Chrome version from my Android App?

  6. 6

    Can I force my Android app to update from the Play Store?

  7. 7

    NoSuchMethodException when trying to launch my app from Android Studio

  8. 8

    Facebook APP用户ID

  9. 9

    Retrieving the name of an audio track from a stream

  10. 10

    Can't get my android app use facebook although after putting my hash keys

  11. 11

    Unable to retrieve email address from Facebook API

  12. 12

    Can I localize my whole android app from a button click

  13. 13

    How do I get a Joomla user id (which is a number) from user name?

  14. 14

    Fetch Facebook friends information like email id and phone number from android app version 4.4

  15. 15

    How to get user's id for openning a facebook-profile-page? (Android)

  16. 16

    Getting taggable id of a logged user by facebook id

  17. 17

    Android delete title from actionbar, delete name app

  18. 18

    Retrieving list of users in my Android App through Parse that match my Phone Contact List

  19. 19

    Facebook authentication via android app

  20. 20

    Open app from Facebook link

  21. 21

    Retrieving the id from Model to Controller in Angular JS

  22. 22

    Retrieving friends' status updates from Facebook Graph API

  23. 23

    mysql retrieving unique id from table with division

  24. 24

    check if user name and email in database using expressJS

  25. 25

    Size limitation on Facebook App Id

  26. 26

    Find user from email address

  27. 27

    How can I find my User ID (UID) from terminal?

  28. 28

    Php Mysql: Retrieving 2 usernames via 2 user id

  29. 29

    Facebook connect API : Get user email

ホットタグ

アーカイブ