Wpis z mikrobloga

Mam od pewnego czasu klucze do API wykopu i próbuję się nim pobawić. Jestem w stanie pobrać wpisy i znaleziska.
Ale nijak nie idzie mi testowe dodanie wpisu na mirko. Dokumentacja jest taka średnio pomocna ( ͡º ͜ʖ͡º).

Kod, za pomocą którego chcę dodać wpis:

url = f'''[https://a2.wykop.pl/Entries/Add/appkey/](https://a2.wykop.pl/Entries/Add/appkey/){apikey}/userkey/{usertoken}/'''
data = {'body':'TestAPI'}
hashed = str2hash(f'''{secret}{url}{data['body']}''')
headers = {'apisign':hashed}
r = requests.post(url_entry, headers=headers, data=data)

apikey oraz secretkey - to te, które mam z aplikacji a usertoken to odczytany userkey po zalogowaniu się do API wykopu linkiem:

url = f"[https://a2.wykop.pl/Login/Index/appkey/](https://a2.wykop.pl/Login/Index/appkey/){login_data['appkey']}/"
Próbowałem ustawiać różne wartości w headers (User Agent itp). No i narazie bez sukcesu.
Czy ktoś może mi powiedzieć co robię nie tak?

#wykopapi #python
  • 12
@1001001: z dokumentacji

WykopAPI wymaga podpisywania wszystkich zapytań wysyłanych do usługi (istnieją od tego wyjątki, są nimi między innymi zapytania nie modyfikujące treści, ale dobrą zasadą jest podpisywanie każdego żądania kierowanego do API. Żeby podpisać żądanie należy w poprawny sposób ustawić nagłówek HTTP apisign (przykładowa implementacja funkcji podpisującej zamieszczona jest w bibliotece wAPI)


Czyli do pobierania wpisów i znalezisk (wyjątek nie modyfikujący treści) podpis nie jest wymagany.
Może nawet nie sprawdza
@kubas89: Teoretycznie zgodnie z przykładem z dokumentacji:

klucz API: abcdefgh
sekret API: MNOPQRST
adres żądania: [http://a.wykop.pl/entries/add/appkey/abcdefgh/userkey/klucz_zalogowanego_użytkownika/](http://a.wykop.pl/entries/add/appkey/abcdefgh/userkey/klucz_zalogowanego_użytkownika/)
zawartość post:
{
embed: 'http://serwer/plik.jpg',
body: 'przykładowy komentarz',
}

md5("MNOPQRST" + "[https://a2.wykop.pl/entries/add/appkey/abcdefgh/userkey/klucz_zalogowanego_użytkownika/"](https://a2.wykop.pl/entries/add/appkey/abcdefgh/userkey/klucz_zalogowanego_użytkownika/") + "przykładowy komentarz,http://serwer/plik.jpg") = c1048ea53bdf3d60383b033c5d97f8c1
#!$%@?ąc otrzymuje ten sam wynik. Także sam już nie wiem ¯\_(ツ)_/¯ Dzięki za linka powyżej ale tak się składa, że od pewnego czasu mamy zablokowany dostęp do github w pracy. Także później w domu to przejrzę.