Connexion facebook, demande d'autorisation pour certains champs ?

Bonjour tout le monde ^^

Je commence un nouveau projet de zéro et je suis en train de faire quelques tests pour une connexion via Facebook.
Pour ça, j'utilise Simplicity (https://github.com/SimplicityMobile/Simplicity) qui comme son nom l'indique, est vachement simple à mettre en place.

En gros, j'ai mon application iOs qui fait une demande de connexion via mon application Facebook.

Le soucis vient au moment où je demande certaines informations du profil à facebook, d'après ce que j'ai compris, l'application facebook doit avoir certains droits pour pouvoir recevoir certaines informations.

Par exemple, j'ai besoin de connaitre le genre de mon utilisateur, voici mon code :

let facebook = Facebook()
facebook.scopes = ["public_profile", "email", "user_gender"]

Simplicity.login(facebook) { (accessToken, error) in
    print(accessToken)
}

Je récupère donc un token d'accès que j'utilise via l'api graph.facebook.com pour récupérer les informations dont j'ai besoin.

Sauf que pour avoir accès au genre de la personne, il faut que mon application facebook y soit autorisé.
Je vais via le portail développeur de facebook, examiner mon application et je vois que je peux ajouter des autorisations à mon application.. j'ajoute donc les champs dont j'ai besoin, dont le fameux "user_gender".
Mais pour que mon application soit validé, il faut que je prouve à facebook comment j'utilise cette information et facebook me demande même de montrer un exemple en vidéo de mon application, etc etc.. sauf que j'en suis qu'a l'étape de développement, j'ai justement besoin de faire ces tests pour développer mon application..

Du coup je me retrouve bloqué et je me demande si j'ai pas loupé un truc.

Comment faite vous pour avoir accès aux données facebook (user_gender) alors que votre application n'est pas encore développé ?

Merci de votre aide :)

Réponses

  • Bon, je pense avoir trouvé.. en fait en tant que développeur, on a accès aux "Rôles" de notre application sur facebook (https://developers.facebook.com/apps/)
    Du coup, on peut déclarer des gens dedans et on à accès à leur infos, comme si c'était en production.. ce qui du coup, ne nous bloque pas dans le développement de l'application.

    Il y a aussi leur outil pour explorer l'api plus simplement pour les tests : https://developers.facebook.com/tools/explorer/?classic=0

    Du coup pour mon code, je peux maintenant récupérer les infos qui m'intéresse et continuer le développement de l'appli..

    let facebook = Facebook()
    facebook.scopes = ["public_profile", "email", "user_gender"]
    
    Simplicity.login(facebook) { (accessToken, error) in
        print(accessToken)
        if let tmpAccessToken = accessToken {
            let response = Alamofire.request("https://graph.facebook.com/v3.1/me?fields=id,name,email,gender&access_token="+tmpAccessToken).responseJSON()
            if let json = response.result.value {
                print(json)
                // Données reçues
                // Créer le compte dans la bdd..
            }
        }
    }
    
Connectez-vous ou Inscrivez-vous pour répondre.