Update text of article via API
- 
ciao a tutti, ho installato sul mio server, "Joomla versione "5.2.5" . 
 Ho la necessità di aggiornare dinamicamente gli articoli usando le api da un playbook ansible.
 Probabilmente sto usando l'approccio sbagliato, perché riesco ad aggiornare quasi tutti i campi nel mio articolo tranne il corpo dell'articolo. Le Api Rest che chiamo sono:- 
Recupera un articolo esistente (GET) - GET /api/index.php/v1/content/articles/{{ article_id }} 
- 
Aggiorna un articolo (PATCH) - PATCH /api/index.php/v1/content/articles/{{ article_id }} 
 Ho provato anche a creare un Plugin, tecnica funzionante in vers. 4, Ma niente da fare . Qualcuno di voi ha già affrontato questo problema ? Grazie 
 Francesco
- 
- 
Ciao, purtroppo non so darti una risposta perchè non ho quasi mai lavorato con le API, però tempo fa sul magazine di joomla avevano fatto qualche articolo a riguardo. Qui c'è la parte su GET e PATCH: https://magazine.joomla.org/all-issues/march-2023/playing-with-the-joomla-api-part-2 con anche esempi di codice e qualche spiegazione aggiuntiva... spero possa esserti utile, ciao! 
- 
@jabba Avevo provato quella guida tempo fa, interessante, però mi funzionava solamente se lanciavo manualmente i script, ma non sono riuscito a farlo funzionare per aggiornare articoli da google drive... 
- 
la guida l'ho testata anche io ma nulla da fare, cambio tutti gli attributi ma non riesco con text che dovrebbe essere un risultato della concatenazione di introtext e fulltext e neppure con articletest 
- 
risolto l'arcano , 
 la seguente curl fallisce per due cause :curl -X PATCH "https://mioJoomla.priv/api/index.php/v1/content/articles/463" 
 -H "Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxx"
 -H "Content-Type: application/vnd.api+json"
 -d '{
 "data": {
 "id": "463",
 "type": "articles",
 "attributes": {
 "text": "<p>Test update from API</p>",
 "introtext": "<p>Intro from API</p>",
 "fulltext": "<p>Full from API</p>"
 }
 }
 }'1° causa i campi 
 "text": "<p>Test update from API</p>",
 "fulltext": "<p>Full from API</p>"
 sono in sola lettura2° causa : nel header "application/vnd.api+json" non va bene e non viene letto correttamente in fase di PATCH QUERY OK cambia titolo e testo e curl -k --location --request PATCH 'https://mioJoomla.priv/api/index.php/v1/content/articles/463' 
 --header 'Content-Type: application/json'
 --header 'Authorization: Bearer xxxxxxxxxxxxxxxx'
 --data '{
 "title": "Lista aggiornata",
 "introtext": "cambio testo ",
 "catid": 29,
 "language": ""
 }'*Fare attenzione al contenuto di "introtext": alcune formattazioni invalidano la PATCH 
- 
inoltre se utilizzate Ansible/Awx si inserisce un ulteriore difficoltà : 
 Il modulo uri di Ansible esegue una richiesta PATCH senza includere l'header Accept.
 Tuttavia, il modulo uri imposta automaticamente alcuni header, tra cui Accept, e non offre un metodo diretto per escluderli.
 Per Avere il controllo completo sugli header inviati nella richiesta va utilizzato il comando curl all'interno di un task shell,
- 
Buono a sapersi, grazie per il feedback! 
 
