Changer le statut du sujet via l'API en pinned-global ne fonctionne pas

Je travaille sur un script Python qui utilise l’API Discourse pour définir le statut d’un message sur ‘pinned-globally’, en suivant la documentation de l’API.

La requête pour ‘pinned-globally’ échoue avec un code de retour 400, tandis que la requête avec le paramètre de statut défini sur ‘pinned’ fonctionne parfaitement (c’est-à-dire que je peux voir le message épinglé localement).
Voici un extrait de mon code :

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

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


# Cette requête fonctionne correctement
# Épingler le même message localement
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)

Après avoir rétabli le statut épinglé à false, j’essaie de l’épingler globalement comme ceci.

# Cette requête NE FONCTIONNE PAS
# Épingler le même sujet globalement
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)

Est-ce que je passe à côté de quelque chose d’évident ou s’agit-il d’un véritable bug ?

P.S. L’utilisateur dispose des privilèges suffisants.

2 « J'aime »

Vous ne pouvez pas épingler le même sujet à la fois globalement et localement. Vous devez choisir l’un ou l’autre.

1 « J'aime »

Salut David,

Bien sûr, j’ai simplement écrit le code ainsi pour montrer la différence entre les deux requêtes.
Je vais modifier le premier message pour le rendre plus clair.

1 « J'aime »

Ah, super :ok_hand:. En parcourant le code, je vois cela, ce qui provoquerait une erreur 400

Je pense qu’il vous faut pinned_globally au lieu de pinned-globally. Pouvez-vous essayer cela et voir si cela fonctionne ? Il semble que ce soit une faute de frappe dans notre documentation de l’API — je vais la corriger.

Édité : corrigé dans Correct pinned_globally in topic status documentation · discourse/discourse_api_docs@fcf0d5f · GitHub

5 « J'aime »

C’est confirmé ! :slight_smile:
Merci beaucoup ! :clap:

3 « J'aime »