在版本 201609 之前,我们使用以下 url 从 Sites 文件夹和数据字典中的脚本中获取 nodeRef。我们使用这些信息通过javascript自动创建规则。
/alfresco/api/-default-/public/cmis/versions/1.1/browser?cmisaction=query&statement=select alfcmis:nodeRef from cmis:folder 其中 cmis:name='Sites' and CONTAINS('PATH:"//app:company_home/*"')
结果是:
{
"results": [
{
"properties": {
"alfcmis:nodeRef": {
"id": "alfcmis:nodeRef",
"localName": "nodeRef",
"queryName": "alfcmis:nodeRef",
"type": "id",
"value": [
"workspace://SpacesStore/c08c5d35-f0a3-4330-b783-05c7d773d2d0"
]
}
}
}
],
"hasMoreItems": false,
"numItems": 1
}
在201612和201702天内,当尝试执行查询(通过 POST )时,我们收到了错误:
{
"exception": "invalidArgument",
"message": "Invalid form encoding!"
}
问题是:使用 REST API 如何在 201612 及更高版本中(通过 POST)获得相同的结果?
如果你做一个 POST,你必须把查询放在正文中,而不是在 URL 中。(请参阅 https://docs.oasis-open.org/cmis/CMIS/v1.1/os/examples/browser/doQuery-request.log。
如果执行 GET,请将cmisaction
替换为cmisselector
。
POST 和 GET 应该返回相同的结果。