私は以下を含む多くのリンクを参照しました:
POST新しいノードをDrupalサイトに追加する方法をいくつか試しましたが、失敗しました。名前付きの学生データを保存するためのサンプルCCKを作成しました。年齢、性別、DOB、およびいくつかのリストを追加しました。
サービスモジュール(D7)をインストールして構成し、サービスでサービスエンドポイントを作成しました。
予想どおり、GETはJSONでノードの詳細を取得する最も簡単な方法です。 http://localhost/drupal/services/node
は単にすべてのノードをリストしました。
[〜#〜] post [〜#〜]メソッドの使用方法がまだわかりません。
名前にjohnが含まれる学生を検索したい。私は試した localhost/drupal/services/node&node[name]=john
。 Chrome=)にPOST Manプラグインを使用しましたが、成功しませんでした。他の方法も試しました。
新しい学生をサイトに追加しようとしましたが、成功しませんでした。
上記の作業をうまく行うために誰かが私を導くことができますか?
更新:
タイプarticleの新しいノードを追加してみました。それはうまくいきました。タイプDepartment CCKのノードを追加しようとすると、「s:22:」CSRF検証が表示されます失敗しました ";"これがスクリーンショットです
私はリンクを通過しました https://drupal.org/node/2013781
セッション= session_name = session_idをたどりましたが、それでもエラーが発生します。
これがあなたを助けることを願って、
Drupal 7の場合
使用したツール:
HTTPリクエスト
HTTPリクエストを行うには、Firefoxアドオン [〜#〜] poster [〜#〜] を使用する必要があります。
クライアントとサーバー間の要求/応答に一般的に使用される2つの方法は次のとおりです。
アドオンがダウンロードされた後。開くFirefox->ツール->ポスター
Session authenticationを必ず有効にしてください。 Servicesが適切に構成された後、ノードを作成する前にlog-in。ログインすると、ノードを作成できます。
ログインの場合POSTメソッド、URLは- http://XXXXXXXX.com/demo/rulebook/rulebook_endpoint/user/login
有効なユーザーの場合は、user detailswithセッションIDと名前。無効な場合はが返されますアクセスが拒否されました
POST HEADERでセッション名とIDを使用すると、新しいノードを作成できます
HEADERを追加したら、HTTP POSTリクエストを作成し、ユーザーにノードを作成する権限があることを確認する必要があります。
ノードが作成されると、ノードリンクを含む応答が得られます
注:JSONで応答が必要な場合は、常にURLの末尾に.jsonを追加する必要があります。例: 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
Drupal 7およびサービス7.x-3.xの場合
ステップ1:ユーザー名とパスワードを使用してuser.login
リソースへの投稿リクエストを発行します。
ログインが成功すると、4つのプロパティを持つ応答オブジェクトが取得されます。
Google chrome postmanからのスクリーンショット
ステップ2:ヘッダーを2つ付けてnode
に投稿リクエストを発行します
Google chrome postmanからのスクリーンショット
[〜#〜] post [〜#〜] to REST APIを実行すると、すべてをPOSTデータに入れる必要があります。 [〜#〜] url [〜#〜]にしないでください。 Postmanでは、リクエストを投稿するように設定できます。次に、x-www-form-urlencoded
以下に入力して、データ値を追加できます。 status、uid、language、type、titleを追加し、次に追加の値を追加することを忘れないでください。リソースURLはHost/REST_API_PATH/node
のみにする必要があります。