Wie erstelle ich die JSON-Daten mit Sitzungsinformationen zum Erstellen eines Knotens?

11

Ich verwende Drupal 7 und das Servicemodul 7.x-3.2. Ich verwende Postman for Chrome (einen http-Client), um die API zu testen.

Ich möchte mich bei einem Benutzer anmelden und mit dem Benutzer mithilfe der Drupal-Service-API einen Knoten erstellen.

Ich habe den Benutzer mit der JSON POST-Anfrage unter http://example.com/api/user/login angemeldet .

Geben Sie hier die Bildbeschreibung ein

Ich habe das JSON-Ergebnis erfolgreich erhalten.

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

Dann habe ich versucht, einen Artikel über die API zu erstellen, indem ich die JSON POST-Anforderung gesendet habe. (Der Benutzer hat die Berechtigung zum Erstellen von Artikel - Knoten.)

Geben Sie hier die Bildbeschreibung ein

Ich habe eine 401 nicht autorisierte Antwort erhalten.

Ich denke, ich muss die Sitzungscookie-Informationen einschließen, um die POST-Anforderung zu senden und einen Knoten zu erstellen.

Ich habe die Sitzungsinformationen zuvor zurückgegeben.

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

Wie kann ich damit eine erfolgreiche JSON-POST-Anforderung zum Erstellen eines Knotens erstellen?

Gilzero
quelle

Antworten:

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

Beachten Sie kein Komma nach dem Typ: Artikel-Tag, damit Ihr JSON funktioniert.

Sonniger Patel
quelle
2

Hoffe das wird dir helfen,

  • Um die HTTP-Anfragen zu stellen, verwende ich das Firefox-Add-On POSTER .

    Geben Sie hier die Bildbeschreibung ein

    {
      "type" : "article",
      "title" : "Test article with language",
      "language" : "und"
    }
  • Wenn der Knoten erfolgreich erstellt wurde, erhalten Sie eine Antwort mit einem Link.

    Geben Sie hier die Bildbeschreibung ein

  • Beispiele

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

  • Sie können beziehen sich diese

  • Ich habe geantwortet, wie ich einen neuen Knoten mithilfe der Frage des Dienstmoduls POSTEN kann . Weitere Informationen finden Sie hier.

inizio
quelle
-1

Sie müssen den cookie="sessionname=sessionid"Wert in den Headern festlegen, wobei der Sitzungsname von der Endpunkt- / Benutzer- / Anmelde-URL stammt.

Gholave ​​Ranjeett Vijaykumar
quelle