प्रमाणीकरण त्रुटि e.Message = OAuth त्रुटि = अनुमतियां + त्रुटि - xamarin, xamarin.ios, xamarin.android, facebook-प्रमाणीकरण, xamarin.auth

मैं Xamarin.Auth संस्करण 1.5.0 का उपयोग कर रहा हूं।3 मेरे xamarin.android और xamarin.ios (PCL) प्रोजेक्ट में ऑथेंटिकेशन के लिए प्रोजेक्ट / लॉगिन के साथ facebook का OAuth API है। "मैं अभी नहीं" लिंक पर क्लिक करने के बाद यह समस्या उत्पन्न होती है (नीचे स्क्रीनशॉट देखें)। मुझे निम्न मिलता है। त्रुटि संवाद:

प्रमाणीकरण त्रुटि e.essage = OAuth त्रुटि = अनुमतियाँ + त्रुटि

क्या इस लिंक को निष्क्रिय करने या किसी तरह इसे ठीक करने का कोई तरीका है? या किसी को अंदाजा है कि ऐसा क्यों होता है?

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

iOS कोड (जो अब काम करता है):

public override void ViewDidAppear(bool animated)
{
base.ViewDidAppear(animated);

var auth = new OAuth2Authenticator(
clientId: "myClientId",
scope: "",
authorizeUrl: new Uri("https://m.facebook.com/dialog/oauth/"),
redirectUrl: new Uri("https://www.facebook.com/connect/login_success.html"),
isUsingNativeUI: true
);

auth.Completed += (sender, eventArgs) =>
{
if (eventArgs.IsAuthenticated)
{

}
else
{

}
};

var errorWasAlreadyTrown = false;
auth.Error += (object sender, AuthenticatorErrorEventArgs eventArgs) =>
{
if (!errorWasAlreadyTrown)
{
OAuth2Authenticator auth2 = (OAuth2Authenticator)sender;
auth2.ShowErrors = false;

App.SuccessfulLoginAction.Invoke();
errorWasAlreadyTrown = true;
}
};

PresentViewController(auth.GetUI(), true, null);
}

लेकिन यह अभी भी एंड्रॉइड पर काम नहीं करता है। सभी कोड समान हैं, केवल IOS को छोड़कर "ViewDidAppear" विधि को ओवरराइड करते हैं और Android पर "OnElementChanged" विधि। और अंत में IOS पर "PresentViewController" और Android पर "activity.StartActivity" कहते हैं।

मैंने यहाँ कुछ निर्देशों का पालन किया: Xamarin.Forms में फेसबुक पर लॉगिन कैसे करें

उत्तर:

जवाब के लिए 0 № 1

यह मेरे लिए आपके कोड में इसे सटीक रूप से आत्मसात करने के लिए कठिन है क्योंकि वहाँ से जाने के लिए कोई भी नहीं है, लेकिन उन चीजों में से एक जो आप कोशिश कर सकते हैं।

auth.Error += (object sender, AuthenticatorErrorEventArgs eventArgs) => {
auth.IsEnabled = false;
};

में चर्चा है xamarin डेवलपर धागा जो यहां पाया जा सकता है, जो आपके लिए उपयोगी हो सकता है।


जवाब के लिए 0 № 2

जब "अभी नहीं" लिंक पर क्लिक किया गया, तो त्रुटि के साथ संवाद छिपाने की विधि है:

auth.Error += (sender, eventArgs) =>
{
OAuth2Authenticator auth2 = (OAuth2Authenticator)sender;
auth2.ShowErrors = false;
auth2.OnCancelled();
};