我已经在我的Drupal 8站点上安装了RESTful Web服务,我激活了field_collection_item资源(/field_collection_item/{field_collection_item})与所有可用的方法(GET, POST等认证:basic_auth, cookie和格式:hal_json, json)。
我有一个包含字段集合的内容类型(name:field_field_collection)。为了创建这种内容类型的新节点,我必须首先创建字段集合项,但我无法成功,因为即使我正确地对系统进行了身份验证,也会得到403 Forbidden。
我的请求URL是:http://my_server.com/entity/field_collection_item?_format=hal_json (POST).
请求头是:
POST /entity/field_collection_item?_format=hal_json HTTP/1.1
Host: my_server.com
X-CSRF-Token: P1Z8fnxb0-tTR3CLqNJMSDnU_DQDFnt2ko0Jnitwsd0
Authorization: Basic my_user:my_password
Content-Type: application/hal+json
请求的主体是:
{
"_links": {
"type": { "href":"http://my_server.com/rest/type/field_collection_item/field_field_collection" }
},
"field_text1":[{"value": "1111"}],
"field_text2":[{"value": "2222"}],
"field_name":[{"target_id": "field_field_collection"}]
}
}
field_field_collection是我的field_collection实体的名称。Field_text1, field_text2是我的集合的文本字段。
当我用POSTMAN或DHC发出请求时,我得到403 Forbidden响应。
谁能给我指个正确的方向?我做错了什么?这个请求还有别的办法可以实现吗?是否检查了端点权限?
听起来你已经正确设置了REST资源。但是您还必须设置权限,以便匿名用户可以访问它。