请教调用API新增禅道用户
2019-12-11 19:11:07
yan
  • 访问次数: 43
  • 注册日期: 2019-12-10
  • 最后登录: 2020-07-02
  • 我的积分: 234
  • 门派等级: 无门派
(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查看用户时会返回所有用户,不能查看单个用户吗?



沙发
2019-12-12 09:25:59
石洋洋
  • 访问次数: 6011
  • 注册日期: 2011-04-06
  • 最后登录: 2020-07-08
  • 我的积分: 94609
  • 门派等级: 幽灵 等级6 修罗

一、您没有按照手册介绍的方式进行调用,api文档: http://devel.cnezsoft.com/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-17 09:59:17
yan
  • 访问次数: 43
  • 注册日期: 2019-12-10
  • 最后登录: 2020-07-02
  • 我的积分: 234
  • 门派等级: 无门派
问题已解决, 将zentao/framework/base/router.class.php文件的第598-600行注释掉,再post数据可以实现调用API修改。
#3
2019-12-17 13:17:42
禅道-Bee
  • 访问次数: 2989
  • 注册日期: 2017-02-22
  • 最后登录: 2020-07-03
  • 我的积分: 32462
  • 门派等级: 幽灵 等级5 天魔

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

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

#4
2020-04-28 12:54:10
Cwssoon
  • 访问次数: 3
  • 注册日期: 2020-04-28
  • 最后登录: 2020-04-28
  • 我的积分: 58
  • 门派等级: 无门派
老兄你是怎么做到用api添加用户的,我卡在添加用户的时候报错
验证失败,请检查您的系统登录密码是否正确
#5
2020-04-28 13:01:15 回复 #1
Cwssoon
  • 访问次数: 3
  • 注册日期: 2020-04-28
  • 最后登录: 2020-04-28
  • 我的积分: 58
  • 门派等级: 无门派
原帖由 石洋洋 于 2019-12-12 09:25:59 发表

一、您没有按照手册介绍的方式进行调用,api文档: http://devel.cnezsoft.com/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的内容及格式。



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

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



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



#6
2020-04-28 13:33:00
王林
  • 访问次数: 2841
  • 注册日期: 2017-06-20
  • 最后登录: 2020-07-06
  • 我的积分: 13349
  • 门派等级: 无门派

你好

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

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

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



#7
2020-04-28 14:07:18 回复 #6
Cwssoon
  • 访问次数: 3
  • 注册日期: 2020-04-28
  • 最后登录: 2020-04-28
  • 我的积分: 58
  • 门派等级: 无门派
原帖由 王林 于 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的参数


1/1