Ändern des Topic-Status über die API auf pinned-global funktioniert nicht

Ich arbeite an einem Python-Skript, das die Discourse-API verwendet, um den Status eines Beitrags auf ‘pinned-globally’ zu setzen, wie in der API-Dokumentation beschrieben.

Die Anfrage für ‘pinned-globally’ schlägt mit dem Rückgabecode 400 fehl, während die Anfrage mit dem Status-Parameter ‘pinned’ perfekt funktioniert (d. h. ich kann den Beitrag lokal als angepinnt sehen).

Hier ist ein Ausschnitt meines Codes:

apiWebsite = '<my_website_URL>'
apiKey = '<secret>'
apiUsername = '<secret>'

headers = {
    'Api-Key': apiKey,
    'Api-Username': apiUsername
}


# Diese Anfrage funktioniert OK
# Den gleichen Beitrag lokal anpinnen
payload = {
    'status': 'pinned',
    'enabled': 'true',
    'until': '2019-11-25T08:00:00'
}
u = requests.put(apiWebsite + '/t/29082/status', headers=headers, data=payload)
print(u.status_code)

Nachdem ich den Pin-Status wieder auf false gesetzt habe, versuche ich, ihn global wie folgt zu pinnen.

# Diese Anfrage funktioniert NICHT
# Das gleiche Thema global anpinnen
payload = {
    'status': 'pinned-globally',
    'enabled': 'true',
    'until': '2019-11-25T08:00:00'
}
u = requests.put(apiWebsite + '/t/29082/status', headers=headers, data=payload)
print(u.status_code)

Übersehe ich etwas Offensichtliches, oder ist das ein echter Fehler?

P.S. Der Benutzer verfügt über ausreichende Berechtigungen.

2 „Gefällt mir“

Du kannst dasselbe Thema nicht gleichzeitig global und lokal anheften. Du kannst entweder das eine oder das andere auswählen.

1 „Gefällt mir“

Hallo David,
natürlich, ich habe den Code nur so geschrieben, um zu zeigen, wie sich die beiden Anfragen unterscheiden.
Ich werde den ersten Beitrag ändern, um es klarer zu machen.

1 „Gefällt mir“

Ah gut :ok_hand:. Ich habe mir den Code angesehen und sehe hier etwas, das einen 400-Fehler verursachen würde.

Ich denke, du benötigst pinned_globally statt pinned-globally. Kannst du das versuchen und schauen, ob es funktioniert? Es sieht so aus, als wäre das ein Tippfehler in unserer API-Dokumentation – ich werde das beheben.

Edit: Behoben in Correct pinned_globally in topic status documentation · discourse/discourse_api_docs@fcf0d5f · GitHub

5 „Gefällt mir“

Bestätigt! :slight_smile:
Vielen Dank! :clap:

3 „Gefällt mir“