如何连接facebook、firebase和Flatter?
我正在按照这里找到的将facebook与android项目合并的说明进行操作,并且有一个步骤可以下载facebook SDK,但是在那之后,它没有告诉我将文件放在哪里。它告诉我添加的import语句不起作用(表示uri的目标不存在) 我试图在facebook用户登录时将其添加到firebase数据库。我正在android studio中使用flifter 控制台日志中似乎没有任何用处,只是print语句没有打印任何内容。有什么想法吗 这是我登录用户的代码如何连接facebook、firebase和Flatter?,facebook,firebase,authentication,flutter,Facebook,Firebase,Authentication,Flutter,我正在按照这里找到的将facebook与android项目合并的说明进行操作,并且有一个步骤可以下载facebook SDK,但是在那之后,它没有告诉我将文件放在哪里。它告诉我添加的import语句不起作用(表示uri的目标不存在) 我试图在facebook用户登录时将其添加到firebase数据库。我正在android studio中使用flifter 控制台日志中似乎没有任何用处,只是print语句没有打印任何内容。有什么想法吗 这是我登录用户的代码 import com.facebook.
import com.facebook.FacebookSdk;
import com.facebook.appevents.AppEventsLogger;
Future<FirebaseUser> initiateFacebookLogin() async {
final FacebookLoginResult result =
await facebookLogin.logInWithReadPermissions(['email', 'public_profile']);
FirebaseUser user =
await _auth.signInWithFacebook(accessToken: result.accessToken.token);
//Token: ${accessToken.token}
ProviderDetails userInfo = new ProviderDetails(
user.providerId, user.uid, user.displayName, user.photoUrl, user.email);
List<ProviderDetails> providerData = new List<ProviderDetails>();
providerData.add(userInfo);
print(user.displayName);
addToDatabase(user.uid, user.displayName, user.displayName, user.email);
return user;
}
import com.facebook.FacebookSdk;
导入com.facebook.appevents.AppEventsLogger;
未来的initiateFacebookLogin()异步{
最终FacebookLoginResult结果=
等待facebookLogin.logInWithReadPermissions(['email','public_profile']);
FirebaseUser用户=
wait_auth.signiWithFacebook(accessToken:result.accessToken.token);
//令牌:${accessToken.Token}
ProviderDetails userInfo=新ProviderDetails(
user.providerId、user.uid、user.displayName、user.photoUrl、user.email);
列表提供程序数据=新列表();
providerData.add(用户信息);
打印(user.displayName);
addToDatabase(user.uid、user.displayName、user.displayName、user.email);
返回用户;
}
在flatter中,您需要使用flatter\u facebook\u登录插件查看如何获取插件并设置您的flatter应用程序以使用此插件。您还可以查看一篇关于安装程序如何投影的逐步介绍的文章,其中也包含代码示例,但使用的API已过时
下面是一个带有更新API的代码片段,展示了如何使用facebook帐户登录firebase
/// This mehtod makes the real auth
Future<FirebaseUser> firebaseAuthWithFacebook({@required FacebookAccessToken token}) async {
AuthCredential credential= FacebookAuthProvider.getCredential(accessToken: token.token);
FirebaseUser firebaseUser = await _authInstance.signInWithCredential(credential);
return firebaseUser;
}
你也可以查啊哈ok。是的,我有facebook插件。看来我需要用凭证登录,而不是用Facebook登录。谢谢
///This object comes from facebook_login_plugin package
final facebookLogin = new FacebookLogin();
final facebookLoginResult = await facebookLogin
.logInWithReadPermissions(['email', 'public_profile']);
switch (facebookLoginResult.status) {
case FacebookLoginStatus.error:
print("Error");
break;
case FacebookLoginStatus.cancelledByUser:
print("CancelledByUser");
break;
case FacebookLoginStatus.loggedIn:
print("LoggedIn");
/// calling the auth mehtod and getting the logged user
var firebaseUser = await firebaseAuthWithFacebook(
token: facebookLoginResult.accessToken);
}
}