Hallo, ich möchte eine GET-Anfrage wie diese verwenden, um alle Kategorien auf meinem Discourse-Server zu erhalten.
resp = requests.get(base_url + "/categories.json", headers={"Api-Key": clef_api, "Api-Username": "system"}, param={'include_subcategories': 'true'} ,auth=auth)
assert(resp.status_code == 200)
Leider erhalte ich, da sie die Beschreibungen der Kategorien abrufen, mit allen aktuellen Kategorien einen HTTP-Fehler 413 (Payload Too Large). Daher möchte ich die Beschreibungen der Kategorien nicht abrufen, um weniger Daten zu übertragen.
Können Sie mir helfen? Danke
pfaffman
(Jay Pfaffman)
29. Juni 2022 um 08:40
2
Ich glaube, Sie müssen params und nicht data verwenden.
GET always has a query string and never has post data (that is why you are getting 413 payload too large, it does not expect any). When querying data from a server without making a change you’ll (almost) always use GET and not POST. So you should use params= instead of data=.
I think the docs for this specific API call are badly phrased (“Request Body schema ” really indicates POST data) so I am moving this to bug and you don’t need to pay me anything.
import requests
import json
def get_post_…
das hat funktioniert lmao, danke !!
pfaffman
(Jay Pfaffman)
29. Juni 2022 um 12:41
4
Das freut mich, dass es geklappt hat! Ich war damit selbst verwirrt. Danke an @RGJ für seine klare Erklärung.