Sto usando Facebook Graph Api e sto cercando di ottenere i dati dell'utente. Sto inviando l'accesso degli utenti token e nel caso in cui questo token è scaduto o non valido Facebook restituisce il codice di stato 400 e questa risposta:Come elaborare WebResponse quando .NET lancia WebException ((400) Richiesta non valida)?
{
"error": {
"message": "Error validating access token: The session is invalid because the user logged out.",
"type": "OAuthException"
}
}
Il problema è che quando uso questo codice C#:
try {
webResponse = webRequest.GetResponse(); // in case of status code 400 .NET throws WebException here
} catch (WebException ex) {
}
Se il codice di stato è 400, .NET esegue WebException e il mio webResponse
è null
dopo che è stata rilevata un'eccezione, quindi non ho alcuna possibilità di elaborarla. Voglio farlo per assicurarmi che il problema sia nel token scaduto e non altrove.
C'è un modo per farlo?
Grazie.
Grazie per la risposta dettagliata, l'ho già fatto in un modo simile. So che potrei usare Facebook SDK, ma usare Facebook api è relativamente facile rispetto a Google o Twitter, quindi ho deciso di fare tutto manualmente qui per capire il flusso e avere più controllo. – Burjua
Qualcuno sa perché WebException -> errorResponse.GetResponseStream() è nullo in Silverlight? Tuttavia, posso vedere la risposta del corpo in Fiddler. –
Anche per me è nullo. Facendo un po 'di scavo. Funziona come previsto quando è compilato in .net normale. –