Запросы GET для входа в Swift Firebase Facebook должны содержать явный параметр "fields". - PullRequest
0 голосов
/ 05 мая 2020

Я использую вход в Facebook с Firebase и получаю эту ошибку: 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()
        }
    }
}

1 Ответ

1 голос
/ 05 мая 2020

Здесь у вас есть документы о реализации Swift

Я думаю, ваша проблема вызвана отсутствием разрешений loginButton.permissions = ["public_profile", "email"]

...