• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zapytanie do allegro WebAPI w pythonie. Funkcja goGetItemsList.

Object Storage Arubacloud
0 głosów
1,833 wizyt
pytanie zadane 30 grudnia 2015 w Python przez stott3r Nowicjusz (120 p.)

Cześć,

Jest to moje pierwsze spotkanie z API jako takim. Chciałem napisać prosty moduł łączący się z allegro WebApi za pomocą pythona. Łączę się za pomocą suds, i wszystko działa do momentu podania funkcji doGetItemsList zestawu filtrów przez parametr filterOptions który przyjmuje jedynie białe znaki. W innym wypadku zwraca błąd:

suds.WebFault: Server raised fault: 'Element '{https://webapi.allegro.pl/service.php}filterOptions': This element is not expected. Expected is one of ( {https://webapi.allegro.pl/service.php}sortOptions, {https://webapi.allegro.pl/service.php}resultSize, {https://webapi.allegro.pl/service.php}resultOffset, {https://webapi.allegro.pl/service.php}resultScope ).
'

Mimo, że nie mam pojęcia o xml sprawdziłem co to oznacza, według dokumentacji z pierwszego z wyrzucanych linków struktura elementu powinna wyglądać tak:

<filterOptions>
 <item>
  <filterId>category</filterId>
  <filterValueId>
   <item>7</item>
  </filterValueId>
 </item>
</filterOptions>

W jaki sposób zatem podać to pythonowi, żeby element przeszedł? Trochę miotam się w tym zagadnieniu więc nawet próbowałem parsować ten pliczek do zmiennej którą podawałem w argumencie, ale nadal otrzymuje ten sam wyjątek. Sama funkcja poniżej:

# obsługa połączenia zamknięta wcześniej w zmiennej client
def wynik(*args, **kwargs):
    kwargs['webapiKey'] = 'webapiKey' # zmienna obslugujaca klucz webapi
    kwargs['countryId'] = 1
    kwargs['filterOptions'] = [] # pusta lista jako jedyne rozwiązanie które nie zwraca opisanego przeze mnie błędu, wyrzuca to co powinna, czyli zwrot o wartości 0 (brak pasujących wyszukań) plus drzewka kategorii, filtrów itp

    return client.service.doGetItemsList(*args, **kwargs)

 

komentarz 8 października 2016 przez Mateusz Legięcki Nowicjusz (100 p.)

Nie wiem jak Ci poszło, ale aktualnie pracuję nad pyllegro, zapraszam do wsparcia projektu, dołożenia tego co Ci się zrobić udało, albo użycia jeśli potrzebujesz. Mam plany, żeby dokończyć pisać obsługę zapytań, następnie w miarę jak sandbox allegro zacznie działać, dopisać testy i przykłady użycia i dodać pakiet do pip

http://github.com/Behoston/pyllegro

komentarz 4 października 2018 przez NIMuser Stary wyjadacz (11,030 p.)
Mateusz, jak - działa Twoja biblioteka? (od dwóch lat nie widzę postępów)

1 odpowiedź

0 głosów
odpowiedź 9 stycznia 2016 przez Shadower Nowicjusz (180 p.)
edycja 10 stycznia 2016 przez Shadower

Mógłbyś napisać w jaki sposób wpisywałeś w filterOptions wartości?
Z tego co czytam w dokumentacji Allegro WebAPI, to filterOptions ma wartości FilterOptions Type[] które wyglądają tak:

list_request = {
    'webapiKey': 'webapiKey',
    'countryId': 1,
    'filterOptions': [
        {'filterId': 'category', 'filterValueId': ['237548']},
    ]
}

Czyli filterOptions jest to tablica słowników, a przynajmniej ja to tak rozumiem.

Podobne pytania

0 głosów
2 odpowiedzi 1,172 wizyt
pytanie zadane 14 kwietnia 2016 w C# przez Aleksandra Nowicjusz (140 p.)
0 głosów
0 odpowiedzi 342 wizyt
pytanie zadane 14 grudnia 2017 w Python przez hacker09 Użytkownik (520 p.)
0 głosów
1 odpowiedź 1,648 wizyt
pytanie zadane 19 czerwca 2015 w PHP przez _a4 Obywatel (1,330 p.)

92,623 zapytań

141,478 odpowiedzi

319,819 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...