2015-11-21 8 views
8

साथ ट्विटर खाते को बदलने मुझे पता है कि प्रवेश करने के लिए:कैसे लॉग आउट करना/पार्स

ParseTwitterUtils.logIn(loginView.getCurrentContext(), new LogInCallback() { 
     @Override 
     public void done(ParseUser parseUser, ParseException e) { 
      if (e == null) { 
       String welcomeMessage = ""; 
       if (parseUser.isNew()) { 
        welcomeMessage = "Hello new guy!"; 
       } else { 
        welcomeMessage = "Welcome back!"; 
       } 
       loginView.showLoginSuccess(parseUser, welcomeMessage); 
      } else { 
       String errorMessage = "Seems we have a problem : " + e.getLocalizedMessage(); 
       loginView.showLoginFail(errorMessage); 
      } 
     } 
    }); 

और प्रस्थान करना:

ParseUser.logOutInBackground(new LogOutCallback() { 
     @Override 
     public void done(ParseException e) { 
      if (e == null) { 
       homeView.goLogin(true, "See you soon"); 
      } else { 
       homeView.goLogin(false, "Error detected : " + e.getLocalizedMessage()); 
      } 
     } 
    }); 

लेकिन जब मैं फिर से लॉग इन करना चाहते हैं, मेरे पास नहीं है चेतावनी संवाद मुझे खाता चुनने के लिए कह रहा है (मैं वेब्यूम का उपयोग करता हूं क्योंकि एमुलेटर पर ट्विटर ऐप इंस्टॉल नहीं है)।

ट्विटर लॉगिन का उपयोग करके पार्स से वास्तव में लॉगआउट कैसे करें?

+0

क्या लॉग इन करने के बाद आप लॉग इन करने का प्रयास करते समय सार्वजनिक किए गए (ParseException e) 'फ़ंक्शन में से कोई भी कोड चलाता है? – adiaz004

+0

हां यह काम करता है, लेकिन मैं एक खाता नहीं चुन सकता, यह अब साइनइन स्क्रीन बोता नहीं है – Tsunaze

+0

अभी भी इस के साथ समस्याएं हैं? – adiaz004

उत्तर

0

ParseTwitterUtils से अनलिंक कार्यों का उपयोग करें: https://parse.com/docs/android/api/com/parse/ParseTwitterUtils.html#unlink(com.parse.ParseUser)

इस ट्विटर अकाउंट और पार्स उपयोगकर्ता के बीच की कड़ी को हटा देगा।

भ्रम इस तथ्य से निकलता है कि एपीआई इतना सरल है।

लॉगिन में आप जो कर रहे हैं वह एक पार्स उपयोगकर्ता के साथ एक ट्विटर खाता जोड़ रहा है और उस पार्स उपयोगकर्ता के रूप में लॉग इन कर रहा है। फिर जब आप लॉग आउट कर रहे हों, तो आप केवल पार्स उपयोगकर्ता से लॉग आउट कर रहे हैं, और ट्विटर खाता अभी भी पार्स उपयोगकर्ता से जुड़ा हुआ है। इसलिए जब आप दोबारा लॉग इन करते हैं तो यह पार्स उपयोगकर्ता के रूप में लॉग इन करने के लिए स्वचालित रूप से ट्विटर खाते का उपयोग करता है।

+0

हटा दिया जा रहा है, मैं बाद में इसे आजमाने की कोशिश कर रहा हूं। लेकिन इसका मतलब यह नहीं है कि जब आप ट्विटर के साथ लॉगिन करेंगे तो यह एक और उपयोगकर्ता को बार-बार बनाएगा? – Tsunaze

+0

हां यह ऐसा करेगा। मुझे लगता है कि मैं आपकी मदद के लिए अपने आवेदन के बारे में पर्याप्त नहीं जानता। क्या आप यह सुनिश्चित करने की कोशिश कर रहे हैं कि यह हर बार ट्विटर के साथ फिर से लिखता है? एक संभावित समाधान तब सक्षमAutomaticUser() के माध्यम से अज्ञात पार्स उपयोगकर्ताओं का उपयोग करना होगा और फिर उपयोगकर्ता को केवल ट्विटर खाते से लिंक होने पर लॉग इन किया जाएगा ('लॉग इन' के लिंक का उपयोग करके और 'लॉग आउट' से अनलिंक करें)। – craigts

0

आईओएस में, आप PFOauth1FlowDialog.m

में पार्स के स्रोत कोड में संशोधन कर सकते
- (void)loadURL:(NSURL *)url queryParameters:(NSDictionary *)parameters { 
    NSMutableDictionary *_parameter = [[NSMutableDictionary alloc] init]; 
    [_parameter setObject:@"true" forKey:@"force_login"]; 
    [_parameter addEntriesFromDictionary:parameters]; 
    _loadingURL = [[self class] _urlFromBaseURL:url queryParameters:_parameter]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:_loadingURL]; 
    [_webView loadRequest:request]; 
} 

फिर सब कुछ ठीक काम करना चाहिए, और यह भी एंड्रॉयड में काम करना चाहिए।

संबंधित मुद्दे