Github-api daje 404 podczas przekazywania danych json z python + urllib2

Mam następujący kod, który powinien wykonać pierwszą część tworzenia nowego pobrania w github. Powinien wysłać dane json za pomocą POST.

jsonstring = '{"name": "test", "size": "4"}'
req = urllib2.Request("https://api.github.com/repos/<user>/<repo>/downloads")
req.add_header('Authorization', 'token ' + '<token>')
result = urllib2.urlopen(req, jsonstring)

Jeśli usunę, jsonstring&nbsp;zurlopen(), nie zawodzi i daje mi listę dostępnych plików do pobrania. Jeśli jednak spróbuję POST ciągu json, otrzymuję błąd 404.

Problemem musi być json lub sposób, w jaki go wysyłam, ale nie wiem, na czym polega problem. Struny w<...>&nbsp;znajdują się dokładnie w rzeczywistym kodzie, właśnie usunąłem je z posta

Próbowałem mniej więcej tak samocurl&nbsp;w linii poleceń, z nieco inną metodą uwierzytelniania i działało.

Przetestowany:

Działa (zwraca poszukiwany json):

curl -u "user:password" --data "json..." https://api.github.com/repos/<user>/<repo>/downloads

Prace:

curl -H 'Authorization: token <token>' https://api.github.com/

Nie działa (zwraca „nieprawidłowe poświadczenia”):

curl -H 'Authorization: token <invalid_token>' https://api.github.com/

Nie działa („nie znaleziono”):

curl -H 'Authorization: token <valid_token>' --data "json..." https://api.github.com/repos/<user>/<repo>/downloads

Wydaje się, że nie jest to problem specyficzny dla kodu Pythona. Dane json POST wydają się być w porządku, a autoryzacja tokenu OAuth wydaje się (przynajmniej częściowo) działać. Ale kiedy są one połączone, przestaje działać.