0

Мне было интересно, знает ли кто-нибудь обновленный код в swift3 для следующего. Я получил это из Giseub Parse Server (ссылка ниже).Parse Facebook Login Интеграция Обработка недействительного сеанса

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil]; 
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
if (!error) { 
    // handle successful response 
} else if ([[error userInfo][@"error"][@"type"] isEqualToString: @"OAuthException"]) { // Since the request failed, we can check if it was due to an invalid session 
    NSLog(@"The facebook session was invalidated"); 
    [PFFacebookUtils unlinkUserInBackground:[PFUser currentUser]]; 
} else { 
    NSLog(@"Some other error: %@", error); 
} 

}];

В частности, я хочу, чтобы понять, что нужно проверить в

"[[error userInfo][@"error"][@"type"] isEqualToString: @"OAuthException"]". 

Я понимаю, если swift3 я хочу установить, что в качестве

"if error = (error as? NSError!).userInfo[something]" 

Но я не уверен, какой аргумент мне нужно пройдите в userinfo []. Например. FBSDKGraphRequestErrorCategoryKey, FBSDKGraphRequestErrorGraphError и т.д.

https://github.com/ParsePlatform/ParseUI-iOS/wiki/Integrate-Login-with-Facebook

+0

Извините, я пропустил понимание, что вы спрашиваете! – Cliffordwh

+0

@Cliffordwh без проблем! – DevKyle

ответ

0

API возвращает код статуса HTTP 400, код и субкод в теле JSON, объясняющей природу ошибки. В вашем случае недействительный сеанс. Просто примените это к переменной и проверьте, соответствует ли она "OAuthException".

{ 
     "error": { 
     "message": "Error validating access token: The session is invalid 
        because the user logged out.", 
     "type": "OAuthException", 
     "code": 190 
     } 
    } 
+0

Я видел это на сайте разработчиков Facebook. Как я могу сделать это так, чтобы он соответствовал формату «error.userInfo» в swift? – DevKyle

Смежные вопросы