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
1 „Gefällt mir“
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_…
4 „Gefällt mir“
das hat funktioniert lmao, danke !!
2 „Gefällt mir“
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.
3 „Gefällt mir“
system
(system)
Geschlossen,
29. Juli 2022 um 12:41
5
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.