Невозможно войти через 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);
             }
         }];

    }

}
Другие вопросы по тегам