Facebook authentication without login button

后端 未结 6 1218
Happy的楠姐
Happy的楠姐 2020-11-28 21:33

I have followed some Facebook API 3.0 tutorials, including the Login/Logout and the Publish To Feed examples. So the login works this way:

  1. App opens, shows a f
6条回答
  •  感动是毒
    2020-11-28 22:09

    This worked for me

        import android.os.Bundle;
        import android.app.Activity;
        import android.content.Intent;
        import android.widget.TextView;
        import com.facebook.*;
        import com.facebook.model.*;
    
        public class MainActivity extends Activity {
    
          @Override
          public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            // start Facebook Login
            Session.openActiveSession(this, true, new Session.StatusCallback() {
    
              // callback when session changes state
              @Override
              public void call(Session session, SessionState state, Exception exception) {
                if (session.isOpened()) {
    
                  // make request to the /me API
                  Request.newMeRequest(session, new Request.GraphUserCallback() {
    
                    // callback after Graph API response with user object
                    @Override
                    public void onCompleted(GraphUser user, Response response) {
                      if (user != null) {
                        TextView welcome = (TextView) findViewById(R.id.welcome);
                        welcome.setText("Hello " + user.getName() + "!");
                      }
                    }
                  }).executeAsync();
                }
              }
            });
          }
    
          @Override
          public void onActivityResult(int requestCode, int resultCode, Intent data) {
              super.onActivityResult(requestCode, resultCode, data);
              Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
          }
    
        }
    

    if you need to get authorizations after verify that session is open ,add this way:

    List permissions = session.getPermissions();             
                     Session.NewPermissionsRequest newPermissionsRequest = new         Session.NewPermissionsRequest(getActivity(), Arrays.asList("read_mailbox"));
                     session.requestNewReadPermissions(newPermissionsRequest);
    

提交回复
热议问题