Modificare lo stato dell'argomento via API a pinned-global non funziona

Sto lavorando a uno script Python che utilizza l’API di Discourse per impostare lo stato di un post su ‘pinned-globally’, seguendo la documentazione API.

La richiesta per ‘pinned-globally’ fallisce con il codice di ritorno 400, mentre la richiesta con il parametro status impostato su ‘pinned’ funziona perfettamente (cioè posso vedere il post fissato localmente).
Ecco un frammento del mio codice:

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

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


# Questa richiesta funziona correttamente
# Fissa lo stesso post localmente
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)

Dopo aver reimpostato lo stato fissato su falso, provo a fissarlo globalmente in questo modo.

# Questa richiesta NON funziona
# Fissa lo stesso argomento globalmente
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)

Sto trascurando qualcosa di ovvio o si tratta di un vero bug?

P.S. L’utente ha privilegi sufficienti.

2 Mi Piace

Non è possibile fissare lo stesso argomento a livello globale e locale contemporaneamente. Puoi scegliere l’uno o l’altro.

1 Mi Piace

Ciao David,

Certo, ho scritto il codice in quel modo solo per mostrare come le due richieste differiscano.

Modificherò il primo post per renderlo più chiaro.

1 Mi Piace

Ah, bene :ok_hand:. Dando un’occhiata al codice, vedo questo che causerebbe un errore 400

Penso che tu debba usare pinned_globally invece di pinned-globally. Puoi provarlo e vedere se funziona? Sembra che ci sia un errore di battitura nella nostra documentazione dell’API - provvederò a correggerlo.

Modifica: corretto in Correct pinned_globally in topic status documentation · discourse/discourse_api_docs@fcf0d5f · GitHub

5 Mi Piace

Confermato! :slight_smile:
Grazie mille! :clap:

3 Mi Piace