Я в настоящее время внедряю кнопку входа в систему Facebook в свое собственное родное приложение. После успешного входа в систему я получаю некоторую информацию, имя, фамилию и адрес электронной почты.React native - fbsdk LoginManager vs LoginButton
После прочтения SDK документации и онлайн примеры можно увидеть два различных подхода для достижения этой цели:
Использование LoginButton & маркер доступа затем сделать GraphRequest
Использование LoginManager затем сделать GraphRequest (подход, который я выбрал):
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> ) } }
В чем основное отличие между LoginManager & LoginButton?
Online примеры LoginButton также получить текущий маркер: AccessToken.getCurrentAccessToken().then(...)
С LoginManager мне удалось получить информацию о пользователе без необходимости использовать маркер доступа - это LoginManager вызова маркер доступа за сценой?
Есть ли предпочтительный подход?
Проверьте мой ответ –