Swift Firebase Facebook登录GET请求应包含一个明确的“字段”参数

问题描述 投票:0回答:1

我正在使用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()
        }
    }
}
ios swift firebase facebook-login swift5
1个回答
0
投票

这里有关于Swift implementation的文档

我认为您的问题是由于缺少权限引起的loginButton.permissions = ["public_profile", "email"]

© www.soinside.com 2019 - 2024. All rights reserved.