问题
im trying to add Twitter sign-in method in my project.i have got few lines of code online when i try it in my project its throwing me error. can someone help me in this.
Here's my code:
Future<FirebaseUser> loginWithTwitter() async {
var twitterLogin = new TwitterLogin(
consumerKey: 'Y2MyConsumerKeyYKX',
consumerSecret: 'xYXUMyConsumerSecretKeyjFAJZMyConsumerSecretKeyS3i',
);
final TwitterLoginResult result = await twitterLogin.authorize();
switch (result.status) {
case TwitterLoginStatus.loggedIn:
var session=result.session;
final AuthCredential credential= TwitterAuthProvider.getCredential(
authToken: session.token,
authTokenSecret: session.secret
);
FirebaseUser firebaseUser=(await _auth.signInWithCredential(credential)).user;
print("twitter sign in"+firebaseUser.toString());
break;
case TwitterLoginStatus.cancelledByUser:
break;
case TwitterLoginStatus.error:
break;
}
return null;
}
The error is with the command SignInWithTwitter and Debug print.can someone help me in this. enter image description here
回答1:
FirebaseAuth
does not contain a method called signInWithTwitter
, if you want to sign in using twitter then you need to use the class TwitterAuthProvider
For example:
switch (result.status) {
case TwitterLoginStatus.loggedIn:
var session=result.session;
final AuthCredential credential= TwitterAuthProvider.getCredential(
authToken: session.token,
authTokenSecret: session.secret
);
FirebaseUser firebaseUser=(await firebaseAuth.signInWithCredential(credential)).user;
print("twitter sign in"+firebaseUser.toString());
break;
case TwitterLoginStatus.cancelledByUser:
break;
case TwitterLoginStatus.error:
break;
}
Inside the getCredential
you can add the authToken
and authTokenSecret
and then pass the variable as an argument to signInWithCredentials
来源:https://stackoverflow.com/questions/59489207/the-method-signinwithtwitter-isnt-defined-in-the-class-flutter