Come si costruiscono i dati JSON con le informazioni sulla sessione per la creazione del nodo?


11

Sto usando Drupal 7 e il modulo Servizi 7.x-3.2. Sto usando Postman per Chrome (un client http) per testare l'API.

Quello che voglio fare è accedere a un utente e creare un nodo con l'utente utilizzando l'API del servizio Drupal.

Ho effettuato l'accesso con la richiesta JSON POST all'indirizzo http://example.com/api/user/login .

inserisci qui la descrizione dell'immagine

Ho ottenuto con successo il risultato JSON.

{
    "sessid": "KrZjlcY3rFr8v6iLoskcVQN9DmDWsg5yZqIjBeydEBY",
    "session_name": "SESS9fe39db36ccd7afd64e034fefa0129e1",
    "user": {
        "uid": "31",
        "name": "test_user",
        "mail": "services_user_2@example.com",
        "theme": "",
        "signature": "",
        "signature_format": "filtered_html",
        "created": "1352985941",
        "access": "1352991170",
        "login": 1352991510,
        "status": "1",
        "timezone": "",
        "language": "",
        "picture": null,
        "init": "services_user_2@example.com",
        "data": false,
        "roles": {
            "2": "authenticated user"
        },
        "rdf_mapping": {
            "rdftype": [
                "sioc:UserAccount"
            ],
            "name": {
                "predicates": [
                    "foaf:name"
                ]
            },
            "homepage": {
                "predicates": [
                    "foaf:page"
                ],
                "type": "rel"
            }
        }
    }
}

Quindi ho provato a creare un articolo tramite l'API inviando la richiesta POST JSON. (L'utente ha il permesso di creare nodi articolo .)

inserisci qui la descrizione dell'immagine

Ho ricevuto una risposta 401 non autorizzata .

Suppongo di dover includere le informazioni sui cookie di sessione per inviare la richiesta POST, per creare un nodo.

Ho le informazioni sulla sessione precedentemente restituite.

"sessid": "KrZjlcY3rFr8v6iLoskcVQN9DmDWsg5yZqIjBeydEBY",
"session_name": "SESS9fe39db36ccd7afd64e034fefa0129e1",

Come posso utilizzarlo per effettuare correttamente una richiesta POST JSON per la creazione di un nodo?

Risposte:


2
{
   "title": "Just another drupal Post",
   "type": "Article"
}

non notare virgola dopo il tipo: tag articolo in modo che il tuo JSON funzioni.


2

Spero che questo ti possa aiutare,

  • Per effettuare le richieste HTTP, sto usando il componente aggiuntivo POSTER di Firefox .

    inserisci qui la descrizione dell'immagine

    {
      "type" : "article",
      "title" : "Test article with language",
      "language" : "und"
    }
  • Se il nodo viene creato correttamente, otterrai una risposta con un collegamento.

    inserisci qui la descrizione dell'immagine

  • Esempi

    {
      "type": "article",
      "title": "Test article",
      "body": { 
        "und": [{ 
          "value": "test body!"
         }]
      },
      "language" : "und"
    }
    
    {
       "title":"Review",
       "type":"establishment_review",
       "field_establishment":[
          {
             "nid":{
                "nid":"[nid:26686]"
             }
          }
       ],
       "field_fivestar_value":[
          {
             "rating":"20",
             "target":"0"
          }
       ],
       "field_review":[
          {
             "value":"comments about the restaurant"
          }
       ]
    }
    

  • Puoi fare riferimento a questo

  • Ho risposto Come POSTO un nuovo nodo usando la domanda del modulo Servizi . È possibile fare riferimento per ulteriori informazioni.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.