2014-05-24 130 views
0

我試圖使用Parse將現有用戶鏈接到他或她的Facebook帳戶。通過Parse登錄後,用戶可以訪問SettingsActivity並鏈接他們的Facebook帳戶。將現有的ParseUser鏈接到Android中的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

原來我犯了一個愚蠢的錯誤。我沒有正確鏈接用戶,因爲我的Facebook Application ID未在我的解析應用設置中正確設置。