2014-02-21 1 views
2

я с аналогичной проблемой, как указано здесь: https://www.parse.com/questions/error-when-trying-to-reauthorise-facebook-userPFFacebookUtil Тайм-аут ошибки

Когда мое приложение запускается, если пользователь уже вошел в систему он пытается извлечь изображение профиля пользователя из Facebook:

- (void)getFacebookIdAndProfileImageWithSuccess:(void(^)(NSDictionary *))success { 
    // Send request to Facebook to retrieve profile information 
    FBRequest *request = [FBRequest requestForMe]; 
    [request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
     if (error) 
      return; 

     // Result is a dictionary of user information 
     NSMutableDictionary *userData = (NSMutableDictionary *)result; 

     NSString *facebookId = userData[@"id"]; 
     [userData setObject:facebookId forKey:@"facebookId"]; 

     // Retrieve the user profile image 
     NSURL *imageUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@/%@/picture?height=55&width=55", BaseApiUrl, facebookId]]; 
     UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:imageUrl]]; 
     [userData setObject:image forKey:@"image"]; 
     [userData setObject:[imageUrl absoluteString] forKey:@"imageUrl"]; 

     success([NSDictionary dictionaryWithDictionary:userData]); 
    }]; 
} 

Ну это занимает много времени для запроса, чтобы вернуться, и когда он делает это сообщение об ошибке:

"Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0x146aa790 {com.facebook.sdk:ErrorInnerErrorKey=Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo=0x146a1710 {NSErrorFailingURLStringKey=https://graph.facebook.com/, 
NSErrorFailingURLKey=https://graph.facebook.com/, NSLocalizedDescription=The request timed out., NSUnderlyingError=0x1455c110 "The request timed out."}, com.facebook.sdk:HTTPStatusCode=200, com.facebook.sdk:ErrorSessionKey=<PFReceptionist: 0x14685310>}" 
+0

Я попытался открыть https://graph.facebook.com/ в своем браузере, и это не так. Может ли это быть проблема? Facebook API не работает? – septerr

ответ

0

попробовать это:

[FBSession openActiveSessionWithReadPermissions:@[@"basic_info",@"email"] allowLoginUI:YES completionHandler:^(FBSession *session,FBSessionState status,NSError *error){ 
     if(error) 
     { 
      [self hideLoadingMode]; 
      NSLog(@"Facebook Error : %@",error.localizedDescription); 
// end you can use every thing you want 
     } 
     else{ 
      if (FBSession.activeSession.isOpen) { 
       [[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) { 
        if (!error) { 
NSlog(@"user ID %@",[user objectForKey:@"id"]); 
}else{ 
         [self hideLoadingMode]; 
        } 
       }]; 
      } 
     } 
    }]; 

я надеюсь, что это поможет вам

+0

вам нужно импортировать: #import «FBSession.h» – chawki

+0

Спасибо, я думаю, что вы правы в использовании графика api напрямую, а не в использовании служебных программ Parse. Я теряю доверие к Парсу. Но прежде чем я смог попробовать ваше решение, я просто удалил свое приложение и снова установил его, и проблема исчезла. Кто знает, почему :( – septerr

1

Я удален мое приложение и снова установил его. Это решило проблему. Возможно, проблема заключалась в том, что до того, как я начал получать эту ошибку, я пытался решить другую проблему, связанную с Facebook, связанную с моим приложением. И одна из вещей, которую я пробовал, - это удаление моей учетной записи Facebook Настройки> Facebook. Может быть, это как-то связано с этой ошибкой, я не уверен.

+0

удаляя iPhone из симулятора, решает проблему! – Raphael