开发者社区> 问答> 正文

已知问题汇总,求解答

目前在开发过程中,发现几个问题,急待解决:


一、调用创建成员请求,当userid参数赋值64个中文字符时,会返回系统繁忙-1,并且之后这个手机号码无论通过调用API请求,或是通过网页版钉钉都无法添加,都是返回系统繁忙-1。我的理解是这个手机号码被系统锁定。官方文档的描述是userid允许1-64个字符的。这个问题只在userid参数赋值64个中文字符时出现,64个英文和数字字符无此问题。该问题可重现。
二、调用创建成员请求,当remark参数赋值1001个字符时,会返回系统繁忙-1,并且之后这个手机号码通过调用API请求无法添加,返回使用该手机登录钉钉的用户已经在企业中60107,通过网页版钉钉能够成功添加,删除之后,调用API也能够重新添加。官方文档的描述是remark参数允许0-1000个字符,这个情况是边界测试,但是即使超过边界,也应该返回对应的错误,比如remark参数非法之类的错误。这个问题无论是1001个中文字符、英文字符、数字字符同样都会出现。该问题可重现。
三、调用创建成员请求,官方文档的描述是remark参数允许0-1000个字符,但是网页版钉钉确只能添加100个字符,这里是有冲突的。
四、官方文档并没有写明extarrt扩展属性key和value分别允许多少个字符,但是通过网页版钉钉的测试,这个字符数应该是存在上限的。
五、调用创建成员请求,department参数可以传递-1,并且能够成功添加,添加成功后,该成员会在根部门下。 六、虽然只测试了创建成员请求,但是以上的问题估计在更新成员请求里也同样会有。
七、调用获取部门成员请求,order参数是不生效的,无论升序降序,返回的结果都是一样的。
八、管理通讯录中的部分方法,新增了一个lang参数,当赋值en_US时,返回的信息只有userid,其他参数都是空白,按照我的理解,应该要返回英文版本的通讯录信息,但是没有发现任何可以设置英文版本通讯录的方法。


之所有这些问题急需要解决,个人觉得有以下愿意,希望钉钉开发人员考虑一下:
一、对于第一、二个问题,是边界测试的问题,对于一个系统的安全,这个测试一定要详细的测试,我非常不理解,这么基础的测试,为什么钉钉竟然没有做,感觉就像某个临时工赶工出来的东西。这是一个非常非常严重的BUG。如果有人恶意利用此BUG,将所有手机号遍历一遍,那么将导致所有的手机号码全部被系统锁定。另外,由于测试,导致公司一个员工手机现在已经无法添加进钉钉,希望能解决一下。
二、对于第三个问题,官方的文档既然允许1000个字符,那么官方的添加成员入口也应该允许1000个字符。否则,第三方应用添加某个成员如果添加了1000个字符,但是利用官方的网页版钉钉编辑成员的时候,会被强制要求减少备注字段的字符数。这是对客户体验是相当不好的。
三、对于第四个问题,有很多的参数问题,都可以事先在客户端做好检查,这样可以大大减少钉钉服务器的负担,也可以优化客户端判断异常的逻辑。但是这个就要求文档一定要写明一些边界数据和格式问题。
四、对于第五个问题,虽然已经知道department赋值-1和赋值1是一样的效果,但是建议官方还是应该不要允许传递-1,毕竟在逻辑上是不通的,一个部门不应该有2个ID。
五、对于第六个问题,希望钉钉团队能够自行测试一下,出现问题的可能性很大。
六、对于第七个问题,既然提供了排序字段,那么就应该让他生效,虽然说可以在获得所有信息后,在客户端自行排序,但是既然官方要提供这个方法,但是却不生效,这个感觉很不专业,再说,如果涉及分页的情况,在客户端排序也是比较麻烦的,必须取得所有数据在排序,那么这个分页的意义又何在?
七、对于第八个问题,虽然这个lang参数是最近新增的,可能官方还没有对应的方法来添加英文版本通讯录,如果真的是这种情况,就应该等整个英文版本的通讯录的所有相关方法出来都出来时在公布。另外吐槽一下,新增的lang参数,在版本更新记录里面根本就没有发现。希望钉钉团队对API的任何修改都应该在版本更新记录里面体现,即使是莫个参数的边界有变化或是新增方法、新增参数都应该要体现出来,任何一个小的变动都应该要体现。

展开
收起
turboyang 2016-05-30 09:06:29 4145 0
1 条回答
写回答
取消 提交回答
  • 谢谢您的支持。我们已经找人检查了
    2016-05-31 10:07:49
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载