Używam Facebooka Graph Api i próbuję uzyskać dane użytkownika. Wysyłam token dostępu użytkownika oraz w przypadku tokena jest nieważna Facebook zwraca kod statusu 400 i tej odpowiedzi:Jak przetwarzać WebResponse, gdy .NET generuje wyjątek WebException ((400) Bad Request)?
{
"error": {
"message": "Error validating access token: The session is invalid because the user logged out.",
"type": "OAuthException"
}
}
Problemem jest to, że podczas korzystania z tego kodu C#:
try {
webResponse = webRequest.GetResponse(); // in case of status code 400 .NET throws WebException here
} catch (WebException ex) {
}
Jeśli kod stanu to 400.NET generuje wyjątek WebException, a mój webResponse
jest null
po tym, jak zostanie przechwycony wyjątek, więc nie mam szansy go przetworzyć. Chcę to zrobić, aby upewnić się, że problem jest w toku wygasłego, a nie gdzie indziej.
Czy jest jakiś sposób na zrobienie tego?
Dzięki.
Dzięki za szczegółową odpowiedź, zrobiłem to alredy w podobny sposób. Wiem, że mogę korzystać z Facebook SDK, ale korzystanie z Facebooka jest stosunkowo łatwe w porównaniu z Google lub Twitter, więc postanowiłem zrobić wszystko ręcznie, aby zrozumieć przepływ i mieć większą kontrolę. – Burjua
Ktoś wie, dlaczego wyjątek WebException -> errorResponse.GetResponseStream() ma wartość null w programie Silverlight? Widzę jednak reakcję ciała w Skrzypku. –
Dla mnie też nie ma. Robię trochę kopania. Działa to zgodnie z oczekiwaniami po skompilowaniu w normalnym .net. –