群组RESTAPI的使用

群组RESTAPI的使用,rest,atlassian-crowd,Rest,Atlassian Crowd,我正在尝试向群组中的一个组添加100个用户,并希望使用curl和群组的restapi实现自动化。首先,我只是尝试将一个单用户添加到一个组中,然后使用shell脚本对其进行优化。接下来,我将命令作为 curl -X POST{"name":"groupname"} -ik -u application:password-H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost/crowd/r

我正在尝试向群组中的一个组添加100个用户,并希望使用curl和群组的restapi实现自动化。首先,我只是尝试将一个单用户添加到一个组中,然后使用shell脚本对其进行优化。接下来,我将命令作为

curl -X POST{"name":"groupname"} -ik -u application:password-H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost/crowd/rest/usermanagement/1/user/group/direct?username=username.
我得到以下错误

HTTP/1.1 405 Method Not Allowed
Server: Apache-Coyote/1.1
X-Embedded-Crowd-Version: Crowd/2.8.3
X-Crowd-User-Management-Version: 1.4
Set-Cookie: JSESSIONID=17490A660F9A2267B378CD767CEADDF8; Path=/crowd/; Secure; HttpOnly
Allow: HEAD,DELETE,POST,GET,OPTIONS
X-Content-Type-Options: nosniff
Content-Type: text/html;charset=utf-8
Content-Language: en
Content-Length: 1013
Date: Mon, 29 Jun 2015 02:56:15 GMT
仅供参考:我正在使用一个应用程序通过rest对群组进行身份验证。请就我需要做什么和应该怎么做提出建议


另外,我还需要弄清楚如何在群组中添加群组。

您的帖子和数据之间缺少一个空格

要发布数据使用,请执行以下操作:

-d、 --数据

(HTTP)将POST请求中的指定数据发送到HTTP服务器, 与用户填写HTML时浏览器所做的相同 表单并按下提交按钮。这将导致curl通过 使用内容类型将数据发送到服务器 application/x-www-form-urlencoded。与-F、-form相比

因此,命令应该是:

curl -X POST -d {"name":"groupname"} -ik -u application:password -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost/crowd/rest/usermanagement/1/user/group/direct?username=username
从医生那里

对所有资源的身份验证访问(使用任何方法)需要 要通过基本身份验证进行身份验证的客户端。见RFC 2617

您的环境必须保留群组服务器设置的cookie,并且 在随后的通话中重新传输,否则群组将不得不 在每次REST调用时重新验证应用程序

因此,首先验证您自己并存储cookie,(注意--cookie jar参数)

因此,根据后续调用中的文档,使用cookie(使用--cookie参数)


嗨,亚什,谢谢你的帮助。还有一个问题,我的用户名必须是群组实例的管理员吗?我应该使用什么类型的应用程序用户名和密码?再次感谢。我就是这样做的:curl-k-s-X POST-d'{“name”:“admin users”}'-u username:password-H'Content-Type:application/json'-H'Accept:application/json'”,解决了我的问题。
curl -i -u application_name:application_password --data '{"value": "my_password"}' http://localhost:8095/crowd/rest/usermanagement/1/authentication?username=my_username --header 'Content-Type: application/json' --header 'Accept: application/json' --cookie-jar cookies.txt
curl -X POST -d {"name":"groupname"} -ik -u application:password -H 'Content-Type: application/json' -H 'Accept: application/json' https://localhost/crowd/rest/usermanagement/1/user/group/direct?username=username --cookie cookies.txt