请教调用API新增禅道用户

2019-12-11 19:11:07
yan
  • 访问次数: 71
  • 注册日期: 2019-12-10
  • 最后登录: 2021-04-01
  • 我的积分: 360
  • 门派等级: 无门派
(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
石洋洋
  • 访问次数: 6460
  • 注册日期: 2011-04-06
  • 最后登录: 2024-04-17
  • 我的积分: 96500
  • 门派等级: 幽灵 等级6 修罗

一、您没有按照手册介绍的方式进行调用,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-17 09:59:17
yan
  • 访问次数: 71
  • 注册日期: 2019-12-10
  • 最后登录: 2021-04-01
  • 我的积分: 360
  • 门派等级: 无门派
问题已解决,将zentao/framework/base/router.class.php文件的第598-600行注释掉,再post数据可以实现调用API修改。
#3
2019-12-17 13:17:42
禅道-Bee
  • 访问次数: 5094
  • 注册日期: 2017-02-22
  • 最后登录: 2024-04-18
  • 我的积分: 40953
  • 门派等级: 幽灵 等级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
  • 访问次数: 5
  • 注册日期: 2020-04-28
  • 最后登录: 2023-07-10
  • 我的积分: 62
  • 门派等级: 无门派
老兄你是怎么做到用api添加用户的,我卡在添加用户的时候报错
验证失败,请检查您的系统登录密码是否正确
#5
2020-04-28 13:01:15 回复#1
Cwssoon
  • 访问次数: 5
  • 注册日期: 2020-04-28
  • 最后登录: 2023-07-10
  • 我的积分: 62
  • 门派等级: 无门派
原帖由 石洋洋 于 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的内容及格式。



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

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



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



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

你好

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

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

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



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