Edycja danych – API

Rozszerzenie API o żądania typu POST

Jedną z głównych funkcji z naszej aplikacji ma być logowanie gier oraz dodawanie ich do kolekcji. Jako, że BGG nie posiada API do takich celów musimy zasymulować odpowiednie działania użytkownika na stronie.

Podobnie jak w pierwszym poście o API wykorzystamy Fiddlera do monitorowania ruchu sieciowego, a co za tym idzie odtworzenia odpowiednich zapytań do serwera. Ponadto wykorzystamy HttpClientWindows.Web.Http jako najnowszą wersję biblioteki.

Logowanie i sesja

Pierwszą akcją jaką musimy zrekonstruować jest logowanie do serwisu. Jes to zapytanie POST pod adres:

z parametrami:

Dzięki wykorzystaniu najnowszej wersji HttpClienta realizacja powyższej funkcji będzie wyglądać tak:

Nie musimy martwić się o odpowiednie nagłówki czy przechowywanie cookies – biblioteka zajmie się tym za nas.

Edytowanie statusu gry w kolekcji

Jako, że zapytania realizujące dodanie do kolekcji/edytowanie statusu/usunięcie z kolekcji mają podobny endpoint możemy stworzyć wspólną funkcję:

Co dziwne brak „application/x-www-form-urlencoded” powodował, że BGG nie realizował zapytania pomimo zwrócenia statusu „OK”. A zauważyłem to tylko i wyłącznie dzięki porównaniu dwóch zapytań w Fiddlerze(Composer jest przydatną funkcją – pozwala szybko tworzyć zapytania bez grzebania w kodzie).

Gdzie request będzie zawierać odpowiednie parametry:

Przykładowo, dodanie gry do kolekcji będzie wyglądać tak:

Logowanie rozgrywek

Logowanie rozgrywek wymaga trochę większej liczby parametrów, ale logika zapytania jest bardzo podobna:

Przykładowa sesja użytkownika w Fiddlerze będzie wyglądać tak:Fiddler_session

W następnym poście wykorzystamy powyższe API w naszym widoku pojedynczej gry.

 

 

 

 

 

 

 

 

Autor: Paweł Rzepiński

Dev-wannabe, pasjonat gier planszowych i zimowego szusowania

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *