it-swarm.com.de

Wie kann ich POST einen neuen Knoten?

Ich habe viele Links verwiesen, darunter die folgenden:

Ich habe verschiedene Möglichkeiten ausprobiert, um POST einen neuen Knoten zu einer Drupal Site), aber ich bin gescheitert. Ich habe ein Beispiel-CCK zum Speichern von Schülerdaten mit Namen erstellt. Alter, Geschlecht, Geburtsdatum und Liste hinzugefügt.

Ich habe das Dienstemodul (D7) installiert und konfiguriert und einen Dienstendpunkt bei Diensten erstellt.
Wie erwartet ist GET der einfachste Weg, um Details eines Knotens in JSON abzurufen. http://localhost/drupal/services/node listete einfach alle Knoten auf.

Ich kann immer noch nicht herausfinden, wie man die Methode [~ # ~] post [~ # ~] verwendet.

  1. Ich möchte nach den Schülern suchen, deren Name john enthält. Ich habe es versucht localhost/drupal/services/node&node[name]=john. Ich habe das Plugin POST Man für Chrome ohne Erfolg) verwendet. Ich habe auch einige andere Möglichkeiten ausprobiert.

  2. Ich habe erfolglos versucht, einen neuen Schüler zur Site hinzuzufügen.

Kann mich jemand anleiten, damit das oben genannte funktioniert?

UPDATE:

Ich habe versucht, neue Knoten vom Typ Artikel hinzuzufügen. Es hat gut funktioniert. aber wenn ich versuche, Knoten vom Typ Abteilung CCK hinzuzufügen, zeigt es " s: 22:" CSRF-Validierung fehlgeschlagen "; " Hier sind die Screenshots

Ich habe den Link https://drupal.org/node/2013781 durchgesehen.

Ich bin session = session_name = session_id gefolgt, aber ich erhalte immer noch eine Fehlermeldung.
enter image description hereenter image description hereenter image description here

16
Ramaraju.d

Hoffe das wird dir helfen,

Für Drupal 7

Benutztes Werkzeug:

  • Firefox Poster Add-On für Tests und Debugging. Möglicherweise gibt es auch andere Add-Ons. Aber für dieses Beispiel verwende ich das Firefox-Add-On.
  • Um die Bearbeitung und Validierung der JSON-Daten zu erleichtern, können Sie Verwenden.
    • Bearbeiten Sie die JSON-Daten mit diesem Link
    • Überprüfen Sie die JSON-Daten mit diesem Link

HTTP-Anfragen

  • Um die HTTP-Anforderungen zu stellen, müssen Sie das Firefox-Add-On POSTER verwenden.

  • Zwei häufig verwendete Methoden für eine Anforderungsantwort zwischen einem Client und einem Server sind:

    • GET
    • POST
  • Nachdem das Add-On heruntergeladen wurde. Öffnen Sie Firefox -> Tools -> Poster

    enter image description here

  • Stellen Sie sicher, dass die Sitzungsauthentifizierung aktiviert ist. Nachdem die Dienste ordnungsgemäß konfiguriert wurden, sollten Sie sich vor dem Erstellen des Knotens anmelden . Sobald Sie angemeldet sind, können Sie die Knoten erstellen.

  • Verwenden Sie für die Anmeldung die Methode POST) mit der URL wie - http://XXXXXXXX.com/demo/rulebook/rulebook_endpoint/user/login

    enter image description here

  • Wenn es sich um einen gültigen Benutzer handelt, werden Benutzerdetails mit Sitzungs-ID und Name . Wenn nicht gültig, wird zurückgegeben Zugriff verweigert

    enter image description here

  • Durch Verwendung des Sitzungsnamens und der ID im POST HEADER) können neue Knoten erstellt werden

    enter image description here

  • Nachdem Sie den HEADER hinzugefügt haben, müssen Sie eine HTTP POST - Anfrage stellen und sicherstellen, dass der Benutzer über Berechtigungen zum Erstellen eines Knotens verfügt.

    enter image description here

  • Wenn der Knoten erstellt wird, erhalten Sie die Antwort mit Knotenverknüpfung

    enter image description here

HINWEIS: Wenn Sie die Antwort in JSON erhalten möchten, sollten Sie immer .json am Ende der URL anhängen. zB http://XXXXXXXX.com/test/endpoint/user.json OR http://XXXXXXXX.com/test/endpoint) /node.json OR http://XXXXXXXX.com/test/endpoint/user/user_id.json OR = http://XXXXXXXX.com/test/endpoint/node/node_id.json

22
inizio

Für Drupal 7 und Services 7.x-3.x

Schritt 1 : Post-Anfrage an user.login Ressource mit Ihrem Benutzernamen und Passwort.

Wenn die Anmeldung erfolgreich ist, erhalten Sie ein Antwortobjekt mit 4 Eigenschaften:

  • sitzungsname
  • sessid
  • zeichen
  • benutzer (Objekt)

Screenshot von Google chrome Postbote Screenshot from google chrome postman

Schritt 2 : Geben Sie eine Post-Anfrage an node mit 2 Headern aus

  • Cookie: [Sitzungsname] = [sessid]
  • X-CSRF-Token: [Token]

Screenshot von Google chrome Postbote Screenshot from google chrome postman

7
Muhammad Reda

Wenn Sie POST in die REST-API posten, müssen Sie alles in POST-Daten, nicht zu URL . In Postman können Sie die Anforderung zum Posten festlegen, dann auf x-www-form-urlencoded Geben und darunter Ihre Datenwerte hinzufügen. Vergessen Sie nicht, Status, UID, Sprache, Typ, Titel und dann die zusätzlichen Werte hinzuzufügen. Die Ressourcen-URL sollte nur Host/REST_API_PATH/node Sein.

0
itarato