Drupal 7およびサービスモジュール7.x-3.2を使用しています。 Postman for Chrome (httpクライアント)を使用してAPIをテストしています。
私がやりたいことは、ユーザーにログインし、DrupalサービスAPIを使用してユーザーでノードを作成することです。
JSON POST request to http://example.com/api/user/login を使用してユーザーにログインしました。
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"
}
}
}
}
次に、JSON POSTリクエストを送信して、API経由で記事を作成しようとしました(ユーザーにはを作成する権限があります)Articleノード。)
401 Unauthorized応答を受け取りました。
ノードを作成するには、POSTリクエストを送信するためにセッションCookie情報を含める必要があると思います。
以前に返されたセッション情報があります。
"sessid": "KrZjlcY3rFr8v6iLoskcVQN9DmDWsg5yZqIjBeydEBY",
"session_name": "SESS9fe39db36ccd7afd64e034fefa0129e1",
それをどのように利用して、JSON POST=ノード作成のリクエストを成功させることができますか?
{
"title": "Just another drupal Post",
"type": "Article"
}
jsonが機能するように、type:articleタグの後にコンマがないことに注意してください。
これがあなたを助けることを願って、
HTTPリクエストを作成するには、Firefoxアドオン [〜#〜] poster [〜#〜] を使用します。
{
"type" : "article",
"title" : "Test article with language",
"language" : "und"
}
ノードが正常に作成されると、リンク付きの応答が返されます。
例
{
"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"
}
]
}
あなたは参照することができます this
私は どうすればよいですかPOSTサービスモジュールを使用する新しいノード 質問です。詳細については、参照できます。