请教调用API新增禅道用户

回贴
回帖数 7
阅读数 5052
发表时间 2019-12-11 19:11:07
🌿
yan 楼主
(1)后台-二次开发-API:
GET/POST  /zentaopms/www/index.php?m=user&f=create&t=json&deptID=[deptID] 
Create a suer. 

postman返回结果是dept和group信息

(2)参考调用bug模块的getUserBugPairs()方法格式:

GET方式调用: ?m=api&f=getModel&module=bug&methodName=getUserBugPairs&params=account=$account

已传密码参数,返回密码不能为空。传多个参数时不可以用逗号隔开形式吗&params=account=test,password1=sdfghjkl,password2=sdfghjkl,realname=testt,verifyPassword=?

(3)后台-二次开发-编辑器-用户 create 

返回失败

(4)参考签名验证API 的请求格式:/api.php? m=moduleName&f=methodName& params=params &code=code &time=timestamp &token=token。


postman返回token已失效。
尝试这几种方法均无法成功调用API,在API增加创建用户的必填参数,返回结果也无变化。请问是什么原因呢?
此外调用view方法传account查看用户时会返回所有用户,不能查看单个用户吗?



7个回复
石洋洋 沙发

一、您没有按照手册介绍的方式进行调用,api文档:http://devel.easycorp.cn/book/extension/api-intro-43.html

调用例子:

PATH_INFO方式
1、访问 http://x.com/api-getsessionid.json获取禅道session信息
2、使用上一步获取的session作为url参数访问 http://x.com/user-login.json?account=account&password=123456&zentaosid=6v9bl9hp3o5chvdd46u5fg36g4
3、http://x.com/project-index-no.json?zentaosid=ts7urtn8865sfkt8d4n2mdn1b5
GET方式
1、http://127.0.0.1/zentao/index.php?m=api&f=getSessionID&t=json
2、http://127.0.0.1/zentao/index.php?m=user&f=login&t=json&account=admin&password=123456&zentaosid=k3g0h321bieq07a5ffh4i3q4h2
3、http://127.0.0.1/zentao/index.php?m=company&f=browse&t=json&zentaosid=k3g0h321bieq07a5ffh4i3q4h2


二、postman用的时候创建用户这种是需要用 post方式的,body中选择 form-data 提交方式,提交的参数是要放在表单中post到服务器的,不是用的网址中的参数传递,具体可以用谷歌 火狐浏览器的f12工具查看post的内容及格式。

2019-12-12 09:25:59 石洋洋 回帖
🌿
yan 板凳
问题已解决,将zentao/framework/base/router.class.php文件的第598-600行注释掉,再post数据可以实现调用API修改。
2019-12-17 09:59:17 yan 回帖
禅道-Bee #3

也可以升级到新版本看下的,这儿做过调整。

升级前请做好数据备份
升级请参考文档:http://www.zentao.net/book/zentaopmshelp/41.html
备份请参考文档:http://www.zentao.net/book/zentaopmshelp/42.html

2019-12-17 13:17:42 禅道-李锡碧 回帖
😊
Cwssoon #4
老兄你是怎么做到用api添加用户的,我卡在添加用户的时候报错
验证失败,请检查您的系统登录密码是否正确
2020-04-28 12:54:10 Cwssoon 回帖
😊
Cwssoon #5 回复#1
原帖由 石洋洋 于 2019-12-12 09:25:59 发表

一、您没有按照手册介绍的方式进行调用,api文档: http://devel.easycorp.cn/book/extension/api-intro-43.html

调用例子:

PATH_INFO方式
1、访问 http://x.com/api-getsessionid.json获取禅道session信息
2、使用上一步获取的session作为url参数访问 http://x.com/user-login.json?account=account&password=123456&zentaosid=6v9bl9hp3o5chvdd46u5fg36g4
3、http://x.com/project-index-no.json?zentaosid=ts7urtn8865sfkt8d4n2mdn1b5
GET方式
1、http://127.0.0.1/zentao/index.php?m=api&f=getSessionID&t=json
2、http://127.0.0.1/zentao/index.php?m=user&f=login&t=json&account=admin&password=123456&zentaosid=k3g0h321bieq07a5ffh4i3q4h2
3、http://127.0.0.1/zentao/index.php?m=company&f=browse&t=json&zentaosid=k3g0h321bieq07a5ffh4i3q4h2


二、postman用的时候创建用户这种是需要用 post方式的,body中选择 form-data 提交方式,提交的参数是要放在表单中post到服务器的,不是用的网址中的参数传递,具体可以用谷歌 火狐浏览器的f12工具查看post的内容及格式。



我地址和格式都应该对了,但是老是提示

验证失败,请检查您的系统登录密码是否正确



请问这个系统登录密码参数应该怎样设置



2020-04-28 13:01:15 Cwssoon 回帖
🚢
王林 #6

你好

创建用户时的验证密码加密规则  随机码+密码  通过md5加密的

随机码可以在用户通过api登录禅道时GET获取verifyRand值

创建用户时,需要通过api将密码+获取的随机码通过md5加密后post到禅道的。



2020-04-28 13:33:00 王林 回帖
😊
Cwssoon #7 回复#6
原帖由 王林 于 2020-04-28 13:33:00 发表

你好

创建用户时的验证密码加密规则   随机码+密码  通过md5加密的

随机码可以在用户通过api登录禅道时GET获取verifyRand值

创建用户时,需要通过api将密码+获取的随机码通过md5加密后post到禅道的。




登录的APi需要用get方法吗?

我使用的是post方法。URL:https://.../user-login.json?zentaosid=590vototrg725fqmgqal7oef67

BODY使用form-data。里面添加account和password的参数


2020-04-28 14:07:18 Cwssoon 回帖
联系人
刘斌/高级客户经理
电话(微信)
17685869372
QQ号码
526288068
联系邮箱
liubin@chandao.com
返回顶部
刘斌
高级客户经理
17685869372
526288068
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。 问题反馈反馈点击这里,让我们聆听您的建议与反馈。