Невозможно войти через Facebook, используя API v2.4 с пользовательской кнопкой в IOS
Я пытаюсь войти через Facebook, используя api v2.4 и используя пользовательскую кнопку для входа, но я не получаю успеха. Я могу получить идентификатор на Facebook, но остальная информация становится недействительной. Я сделал то же самое, что и в более ранней версии API, он работает хорошо. Кто-нибудь может сказать мне, что мне теперь делать?
Ваша помощь будет оценена.
1 ответ
Решение
Вы пытаетесь таким образом получить информацию.
И facebook SDK 4.x получает любую информацию, затем передает поля запроса параметров следующим образом
parameters:@{@"fields": @"id, name, link, first_name, last_name, picture.type(large), email, birthday, bio ,location ,friends ,hometown , friendlists"}
- (IBAction)btnFacebookPressed:(id)sender {
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
{
if (error)
{
// Process error
}
else if (result.isCancelled)
{
// Handle cancellations
}
else
{
if ([result.grantedPermissions containsObject:@"email"])
{
NSLog(@"result is:%@",result);
[self fetchUserInfo];
}
}
}];
}
-(void)fetchUserInfo
{
if ([FBSDKAccessToken currentAccessToken])
{
NSLog(@"Token is available : %@",[[FBSDKAccessToken currentAccessToken]tokenString]);
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id, name, link, first_name, last_name, picture.type(large), email, birthday, bio ,location ,friends ,hometown , friendlists"}]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error)
{
NSLog(@"resultis:%@",result);
}
else
{
NSLog(@"Error %@",error);
}
}];
}
}