Salta al contenuto
  • Categorie
  • Recenti
  • Tag
  • Popolare
  • Utenti
  • Gruppi
Collassa
Logo del marchio
  1. Home
  2. Amministrazione Joomla!
  3. Update text of article via API

Update text of article via API

Pianificato Fissato Bloccato Spostato Amministrazione Joomla!
7 Post 3 Autori 68 Visualizzazioni
  • Da Vecchi a Nuovi
  • Da Nuovi a Vecchi
  • Più Voti
Effettua l'accesso per rispondere
Questa discussione è stata eliminata. Solo gli utenti con diritti di gestione possono vederla.
  • R Non in linea
    R Non in linea
    Ratman_mi
    scritto su ultima modifica di Ratman_mi
    #1

    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:

    1. Recupera un articolo esistente (GET) - GET /api/index.php/v1/content/articles/{{ article_id }}

    2. 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

    1 Risposta Ultima Risposta
    0
    • jabbaJ Online
      jabbaJ Online
      jabba
      scritto su ultima modifica di jabba
      #2

      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!

      Gianluca Gabella - smanettone IT, webbarolo, Joomler per passione - pixed.it

      W 1 Risposta Ultima Risposta
      0
      • W Non in linea
        W Non in linea
        webman
        risposto a jabba su ultima modifica di
        #3

        @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...

        1 Risposta Ultima Risposta
        0
        • R Non in linea
          R Non in linea
          Ratman_mi
          scritto su ultima modifica di Ratman_mi
          #4

          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

          1 Risposta Ultima Risposta
          0
          • R Non in linea
            R Non in linea
            Ratman_mi
            scritto su ultima modifica di Ratman_mi
            #5

            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 lettura

            2° 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

            1 Risposta Ultima Risposta
            0
            • R Non in linea
              R Non in linea
              Ratman_mi
              scritto su ultima modifica di
              #6

              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,

              1 Risposta Ultima Risposta
              0
              • jabbaJ Online
                jabbaJ Online
                jabba
                scritto su ultima modifica di
                #7

                Buono a sapersi, grazie per il feedback!

                Gianluca Gabella - smanettone IT, webbarolo, Joomler per passione - pixed.it

                1 Risposta Ultima Risposta
                0

                • Accedi

                • Non hai un account? Registrati

                • Accedi o registrati per effettuare la ricerca.
                Powered by NodeBB Contributors
                • Primo post
                  Ultimo post
                0
                • Categorie
                • Recenti
                • Tag
                • Popolare
                • Utenti
                • Gruppi