繁体   English   中英

Facebook登录无法正常解析

[英]Facebook login not working Parse

我正在尝试将Facebook登录功能集成到我的应用程序中。

当我单击“继续使用Facebook按钮”时,一切正常,但用户信息未添加到解析数据库,登录成功或失败时的“日志”也未显示在logcat中。

任何帮助,将不胜感激。

public class FacebookLoginActivity extends Activity {

LoginButton loginButtonFB;

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


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

    final List<String> mPermissions = new ArrayList<String>() {{
        add("public_profile");
        add("email");
    }};


    loginButtonFB = findViewById(R.id.fb_login_button);

    loginButtonFB.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ParseFacebookUtils.logInWithReadPermissionsInBackground(FacebookLoginActivity.this, mPermissions, new LogInCallback() {
                @Override
                public void done(final ParseUser parseUser, ParseException e) {
                    if (parseUser == null) {

                        Log.d("MyApp", "Uh oh. The user cancelled the Facebook login.");

                    } else if (parseUser.isNew()) {

                        if (!ParseFacebookUtils.isLinked(parseUser)) {
                            ParseFacebookUtils.linkWithReadPermissionsInBackground(parseUser, FacebookLoginActivity.this, mPermissions, new SaveCallback() {
                                @Override
                                public void done(ParseException ex) {
                                    if (ParseFacebookUtils.isLinked(parseUser)) {
                                        Log.d("MyApp", "Woohoo, user logged in with Facebook!");

                                        Toast.makeText(FacebookLoginActivity.this, "Logged in",Toast.LENGTH_LONG).show();

                                    }
                                }
                            });
                        }
                    } else {
                        if (!ParseFacebookUtils.isLinked(parseUser)) {
                            ParseFacebookUtils.linkWithReadPermissionsInBackground(parseUser, FacebookLoginActivity.this, mPermissions, new SaveCallback() {
                                @Override
                                public void done(ParseException ex) {
                                    if (ParseFacebookUtils.isLinked(parseUser)) {
                                        Log.d("MyApp", "Woohoo, user logged in with Facebook!");
                                        Toast.makeText(FacebookLoginActivity.this, "Logged in",Toast.LENGTH_LONG).show();
                                    }
                                }
                            });
                        }

                    }

                }
            });
        }
    });
}

}

FacebookSdk.sdkInitialize(getApplicationContext()); initialiseControls();

 private void initialiseControls(){
    txtStatus=(TextView)findViewById(R.id.txtStatus);
    callbackManager = CallbackManager.Factory.create();
    login_button=(LoginButton)findViewById(R.id.login_button);
}

private void loginWithFb(){
    LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            Toast.makeText(getApplicationContext(), "LOGGED IN USING FACEBOOK !", Toast.LENGTH_LONG).show();
            //txtStatus.setText("LOGIN SUCCESSFUL!!!\n" + loginResult.getAccessToken().getToken());
            Intent testactivty = new Intent(MainActivity.this, VenuesActivity.class);
            startActivity(testactivty);
            updateUI(true);
        }

        @Override
        public void onCancel() {
            Toast.makeText(getApplicationContext(), "FAILED !", Toast.LENGTH_LONG).show();

        }

        @Override
        public void onError(FacebookException error) {
            Toast.makeText(getApplicationContext(), "ERROR !", Toast.LENGTH_LONG).show();
        }
    });

}

它对我有用...希望对您有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM