在Android中链接/取消链接现有的ParseUser到Facebook帐户

时间:2014-05-24 18:13:14

标签: android facebook parse-platform

我尝试使用Parse将现有用户链接到他或她的Facebook帐户。通过Parse登录后,用户可以转到SettingsActivity并链接他们的Facebook帐户。

我通过调用ParseUser.logInInBackground来实现此目的,然后通过检查ParseUser.getCurrentUser() != null来验证它。

在我的SettingsActivity中,用户可以按“连接到Facebook”状态。按钮,应该将帐户链接到Facebook,但它不起作用。当用户点击按钮时,我按照Parse Android documentation

执行了以下代码
mUser = ParseUser.getCurrentUser();

public void onToggleFacebookConnectedClick(View v) {

    if (!ParseFacebookUtils.isLinked(mUser)) {
          ParseFacebookUtils.link(mUser, this, new SaveCallback() {
            @Override
            public void done(ParseException ex) {
              if (ParseFacebookUtils.isLinked(mUser)) {
                  Log.d(Application.APPTAG, "Woohoo, user logged in with Facebook!");
              }
            }
          });
        } else if(ParseFacebookUtils.isLinked(mUser)) {
            ParseFacebookUtils.unlinkInBackground(mUser, new SaveCallback(){
              @Override
              public void done(ParseException ex) {
                if (ex == null) {
                    Log.d(Application.APPTAG, "The user is no longer associated with their Facebook account.");
                }
              }
            });
    }
}

我收到错误:com.parse.ParseException:java.lang.IllegalArgumentException: Cannot save a ParseUser until it has been signed up. Call SignUp first.

用户已经注册(不使用Facebook),所以我很困惑为什么我收到此消息。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

事实证明我犯了一个愚蠢的错误。我没有正确关联用户,因为我的 Parse App Settings 中的Facebook Application ID未正确设置。