Ho provato a pubblicare un argomento con l’API, ma ha fallito con questo messaggio di errore: {‘action’: ‘create_post’, ‘errors’: [‘Il corpo è troppo corto (minimo 1 carattere)’, ‘Il corpo sembra poco chiaro, è una frase completa?’]}
il messaggio da pubblicare è di circa 25K, un elenco di notizie
posso pubblicarlo manualmente senza errori.
ma quando lo pubblico con l’API, fallisce
la dimensione predefinita del post è 35K(?), l’ho già aumentata (nelle impostazioni) per consentire questo messaggio più lungo.
se pubblico una frase breve con il codice sottostante, funziona bene.
ho cambiato body min entropy a 0, non ha aiutato neanche.
ho cercato nel forum, non ho trovato una soluzione,
qualche idea/suggerimento, grazie…
ecco il codice python
import requests
# Intestazioni di autenticazione
headers = {
"Api-Key": '***',
"Api-Username": 'newsbot',
}
lines = "alcune notizie, circa 25K"
# Dati dell'argomento
topic_data = {
"title":"ultime notizie",
"raw": lines,
"category": 28,
}
# Invia una richiesta POST per creare l'argomento
response = requests.post('https://www.mydomain.com/posts.json', json=topic_data, headers=headers)
# Verifica se la richiesta ha avuto successo
if response.status_code == 200:
print("Argomento creato con successo!")
topic_id = response.json().get("id")
print(f"ID argomento: {topic_id}")
else:
print(response.json())
print(f"Impossibile creare l'argomento. Codice di stato: {response.status_code}")
tra l’altro, il contenuto da pubblicare è un elenco di notizie come questo
Prova ad aggiungere \"skip_validations\": true ai topic_data. (Ci sono casi in cui true deve essere racchiuso tra virgolette, ma non credo sia questo il caso con Python.)
Il parametro skip_validations farà sì che Discourse salti l’esecuzione delle validazioni rispetto alle impostazioni del sito come lunghezza minima del titolo dell'argomento e entropia minima del corpo.
ha soppresso l’errore, ha creato un argomento, ma è vuoto, hmm…
sospetto che forse la sintassi html nel contenuto del mio post debba essere codificata?
sì, funziona per contenuti brevi, ma non per quelli lunghi (allegati), 29848 caratteri, non a causa della lunghezza,
si sospetta forse qualche carattere speciale?