Crowd Rest API用法

时间:2015-06-29 03:04:50

标签: rest atlassian-crowd

我正在尝试将100个用户添加到群组中,我希望使用curl和crowd的rest api自动化它。起初我只是尝试将一个用户添加到一个组,然后使用shell脚本进行审核。在this document之后,我将命令作为

传递
ViewControler().popUpView.hidden = true

我收到以下错误。

EXC_BAD_INSTRUCTION(code=EXC_I386_INVOP, subcode=0x0)

仅供参考:我正在使用一个应用程序来通过休息对人群进行身份验证。请建议我需要做什么以及我该怎么做。

P.S。我还需要弄清楚是否也会挤出群体。

1 个答案:

答案 0 :(得分:2)

您在POST和数据之间缺少空格。

发布数据使用:

  

-d, - data

     

(HTTP)将POST请求中的指定数据发送到HTTP服务器,   与用户填写HTML时浏览器的操作方式相同   表单并按下提交按钮。这将导致卷曲通过   使用content-type将数据发送到服务器   应用程序/ x-WWW窗体-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

来自Crowds Docs,

  

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

     

您的环境必须保留Crowd服务器设置的Cookie   在随后的呼叫中重新发送它们,否则Crowd必须这样做   在每次REST调用时重新验证应用程序。

首先验证你的自我并存储cookie,(记下--cookie-jar参数)

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

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

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