Je suis actuellement en train de mettre en place un bouton de connexion Facebook dans mon application native. Une fois l'utilisateur connecté avec succès, je prends quelques informations, prénom, nom de famille et adresse e-mail.Réagir natif - fbsdk LoginManager vs LoginButton
Après avoir lu la documentation du SDK et des exemples en ligne, je vois deux approches différentes pour y parvenir:
En utilisant LoginButton & AccessToken puis faire une GraphRequest
En utilisant LoginManager puis effectuez une GraphRequest (la approche que j'ai choisi):
class LoginView extends Component { _fbAuth =() => { LoginManager.logInWithReadPermissions(['public_profile','email']).then(function(result){ if(result.isCancelled){ console.log('loging cancelled') } else { console.log('login success' + result.grantedPermissions) const infoRequest = new GraphRequest('/me', { parameters: { 'fields': { 'string' : 'email,first_name,last_name,picture' } } }, (err, res) => { console.log(err, res); }); new GraphRequestManager().addRequest(infoRequest).start(); } }, function(error){ console.log('An error occured: ' + error) }) } render(){ return ( <TouchableHighlight style={{flex:1}} onPress={() => {this._fbAuth()}}> <View style={styles.container}> <View style={styles.buttonContainer}> <Text style={{flex:1}}>Login with Facebook</Text> </View> </View> </TouchableHighlight> ) } }
Quelle est la principale différence entre LoginManager & LoginButton?
exemples en ligne de LoginButton obtiennent également le jeton actuel: AccessToken.getCurrentAccessToken().then(...)
Avec LoginManager j'ai réussi à obtenir les informations utilisateur sans avoir à utiliser AccessToken - est LoginManager appelle AccessToken derrière la scène?
Y a-t-il une approche préférée?
Consultez ma réponse –