¿Cómo construyo los datos JSON con información de sesión para crear el nodo?

11

Estoy usando Drupal 7 y el módulo de Servicios 7.x-3.2. Estoy usando Postman para Chrome (un cliente http) para probar la API.

Lo que quiero hacer es iniciar sesión en un usuario y crear un nodo con el usuario utilizando la API del servicio Drupal.

Ingresé al usuario con la solicitud JSON POST a http://example.com/api/user/login .

ingrese la descripción de la imagen aquí

Obtuve con éxito el resultado JSON.

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

Luego intenté crear un artículo a través de la API enviando la solicitud JSON POST. (El usuario tiene permiso para crear nodos de artículo ).

ingrese la descripción de la imagen aquí

Recibí una respuesta no autorizada 401 .

Supongo que necesito incluir la información de la cookie de sesión para enviar la solicitud POST, para crear un nodo.

Tengo la información de la sesión previamente devuelta.

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

¿Cómo puedo utilizarlo para realizar una solicitud JSON POST exitosa para crear un nodo?

gilzero
fuente

Respuestas:

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

no observe ninguna coma después de la etiqueta type: article para que su json funcione.

Sunny Patel
fuente
2

Espero que esto te ayudará,

  • Para realizar las solicitudes HTTP, estoy usando el complemento de Firefox POSTER .

    ingrese la descripción de la imagen aquí

    {
      "type" : "article",
      "title" : "Test article with language",
      "language" : "und"
    }
  • Si el nodo se crea con éxito, recibirá una respuesta con un enlace.

    ingrese la descripción de la imagen aquí

  • Ejemplos

    {
      "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"
          }
       ]
    }
    

  • Puedes referir esto

  • He respondido ¿Cómo PUBLICO un nuevo nodo usando la pregunta del módulo Servicios ? Puedes consultar para más información.

inizio
fuente
-1

cookie="sessionname=sessionid"Debe establecer el valor en los encabezados, donde el nombre de sesión proviene del punto final / usuario / URL de inicio de sesión.

Gholave ​​Ranjeett Vijaykumar
fuente