我正在使用Firebase使用Facebook登录,但出现此错误:FBSDKLog: starting with Graph API v2.4, GET requests for /222413188829898/model_asset should contain an explicit "fields" parameter
这是我创建按钮视图的方式:
[我在JavaScript SDK中看到了一些答案,但是我不知道如何在Swift中解决此问题,因为我没有(直接)进行任何GET请求。
struct FacebookLoginButtonView: UIViewRepresentable {
func makeCoordinator() -> Coordinator {
return Coordinator()
}
func makeUIView(context: UIViewRepresentableContext<FacebookLoginButtonView>) -> FBLoginButton {
let button = FBLoginButton()
button.delegate = context.coordinator
return button
}
func updateUIView(_ uiView: FBLoginButton, context: UIViewRepresentableContext<FacebookLoginButtonView>) {
//
}
class Coordinator: NSObject, LoginButtonDelegate {
func loginButton(_ loginButton: FBLoginButton, didCompleteWith result: LoginManagerLoginResult?, error: Error?) {
if error != nil {
// print(error?.localizedDescription)
return
}
if let currentAccessToken = AccessToken.current {
let credential = FacebookAuthProvider.credential(withAccessToken: currentAccessToken.tokenString)
Auth.auth().signIn(with: credential, completion: AuthService(firestoreService: FirestoreService()).snHandler)
}
}
func loginButtonDidLogOut(_ loginButton: FBLoginButton) {
try? Auth.auth().signOut()
}
}
}
这里有关于Swift implementation的文档
我认为您的问题是由于缺少权限引起的loginButton.permissions = ["public_profile", "email"]