Skip to content Skip to sidebar Skip to footer

Unable To Access Facebook Login?

I am using Facebook's official Android SDK, and I am administrator of an app on Facebook. I read that by default, the app is in sandbox mode and no one except administrator and dev

Solution 1:

       Session.openActiveSession(this, true, newSession.StatusCallback() {

            // callback when session changes state@Overridepublicvoidcall(Session session, SessionState state,
                    Exception exception) {
                if (session.isOpened()) {
                    // make request to the /me API

                    List<String> permissions = session.getPermissions();
                    if (!isSubsetOf(PERMISSIONS, permissions)) {
                        pendingPublishReauthorization = true;
                        Session.NewPermissionsRequestnewPermissionsRequest=newSession.NewPermissionsRequest(
                                RegisterActivity.this, PERMISSIONS);
                        session.requestNewReadPermissions(newPermissionsRequest);
                        return;
                    }
                    Request.executeMeRequestAsync(session,
                            newRequest.GraphUserCallback() {

                        // callback after Graph API response with// user object@OverridepublicvoidonCompleted(GraphUser user,
                                Response response) {
                            if (user == null) {
                                Toast.makeText(
                                        RegisterActivity.this
                                        .getApplicationContext(),
                                        "Facebook Error",
                                        Toast.LENGTH_LONG).show();

                            } else {
                                Toast.makeText(
                                        RegisterActivity.this
                                        .getApplicationContext(),
                                        user.getName()
                                        + " Logged in Successfully.",
                                        Toast.LENGTH_LONG).show();
                                GraphUserabc= user;

                                id = user.getId();
                                name = user.getName();
                                gender = user.getProperty("gender")
                                        .toString();
                                editname.setText(name);
                                username.setText(user.getUsername());
                                JSONObjectjo= user
                                        .getInnerJSONObject();
                                Log.d("Details", jo.toString());
                                try {
                                    emailid.setText(user
                                            .getProperty("email")
                                            .toString());
                                } catch (Exception e1) {
                                    // TODO Auto-generated catch// block
                                    e1.printStackTrace();
                                }

                                try {
                                    location = user.getLocation()
                                            .getProperty("name")
                                            .toString();
                                } catch (Exception e) {

                                    e.printStackTrace();
                                }



                            }

                            return;
                        }

                    });

                }
            }
        });

Put onActivityResult Method

@OverridepublicvoidonActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session.getActiveSession().onActivityResult(this, requestCode,
            resultCode, data);
}

isSubsetoff() Method

privatebooleanisSubsetOf(Collection<String> subset,
        Collection<String> superset) {
    for (Stringstring : subset) {
        if (!superset.contains(string)) {
            returnfalse;
        }
    }
    returntrue;
}

and the permissions as per your need

privatestaticfinalList<String> PERMISSIONS = Arrays.asList("email",
        "user_about_me", "user_location", "user_checkins");

Post a Comment for "Unable To Access Facebook Login?"