钉钉实战营学习打卡记录 Day 3 转身钉钉应用开发者,两步教你尝试调用一个接口来创建新用户呀
2021/4/27 10:27:51
本文主要是介绍钉钉实战营学习打卡记录 Day 3 转身钉钉应用开发者,两步教你尝试调用一个接口来创建新用户呀,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
搞定了一个钉钉应用,怎样调用接口来创建一个新用户呢?从这篇说开去
目录
二、调用creat user接口
三、【常出现的几处报错代码释义】
四、【小案例与解决心得】如果出现请求的部门 id 不在授权范围内,如何解决?
从这里→ https://open.dingtalk.com/进入钉钉开放平台,红框区域登录后台
没有组织的同学,可以新建组织后,进入应用开发界面,开始创建一个应用
创建成功后就可以在目录中看到它啦!
点击应用,去记录下专属你的key和secret,后面调用接口时会用到呀
注意在权限管理中要勾选通讯录的相关权限
【注意】开发管理界面会有一个出口IP地址,这个IP可以从后面的调试过程中找到,不然会报错!
二、调用creat user接口
钉钉官方的接口文档戳这里→ https://developers.dingtalk.com/document/app/create-members
我们单击调试按钮进入接口界面,如图所示↓
这里粘一下官方的body参数供参考↓
Body参数
名称 | 类型 | 是否必填 | 示例值 | 描述 |
---|---|---|---|---|
userid | String | 否 | 001 | 员工唯一标识ID(不可修改),企业内必须唯一。 长度为1~64个字符,如果不传,将自动生成一个userid。 |
isSenior | Boolean | 否 | true | 是否开启高管模式:
|
isHide | Boolean | 否 | true | 是否号码隐藏:
|
jobnumber | String | 否 | 1001 | 员工工号,对应显示到OA后台和客户端个人资料的工号栏目。 长度为0~64个字符。 |
| String | 否 | 1@example.com | 员工邮箱。 长度为0~64个字符。企业内必须唯一,不可重复。 |
remark | String | 否 | 测试用户 | 备注。 长度为0~1000个字符。 |
workPlace | String | 否 | 杭州 | 办公地点。 长度为0~50个字符。 |
tel | String | 否 | 8646xxxx | 分机号。 长度为0~50个字符,企业内必须唯一,不可重复。 |
mobile | String | 是 | 138xxxx0000 | 手机号码,企业内必须唯一,不可重复。 |
position | String | 否 | 技术支持 | 职位信息。 长度为0~64个字符。 |
positionInDepts | JSONObject | 否 | {1:技术支持} | 设置用户在每个部门下的职位。 Key是deptId,表示部门;Value是职位,表示在这个部门下的职位。 |
department | List | 是 | [389xxxx] | 数组类型,数组里面值为整型,成员所属部门ID列表。 |
name | String | 是 | 张x | 成员名称。 长度为1~64个字符。 |
extattr | String | 否 | {"爱好":"读书"} | 扩展属性,可以设置多种属性。 手机上最多只能显示10个扩展属性,可登录OA管理后台>设置>通讯录信息进行设置。 该字段的值支持链接类型填写,同时链接支持变量通配符自动替换,目前支持通配符有:userid,corpid。示例: [工位地址]( 查看扩展属性:
|
orgEmail | String | 否 | 1@dingtalk.com | 员工的企业邮箱,如果员工已经开通了企业邮箱,接口会返回,否则会报错。 |
orderInDepts | JSONObject | 否 | {1:1} | 在对应的部门中的排序,Map结构的json字符串。Key是部门的ID,Value是人员在这个部门的排序值。 |
hiredDate | Number | 否 | 1599735213000 | 入职时间,Unix时间戳。 |
我们先获取到access token,这里你的应用key和secret就派上用场啦
再使用user/creat来创建用户,成果如下图
创建用户成功后,在钉钉通讯录就能看到啦,很神奇对不对
三、【常出现的几处报错代码释义】
40025 无效的部门JSONArray对象,合法格式需要用中括号括起来,且如果属于多部门,部门id需要用逗号分隔
60107 使用该手机登录钉钉的用户已经在企业中
60003 部门不存在 (可以用1代替进入根部门)
四、【小案例与解决心得】如果出现请求的部门 id 不在授权范围内,如何解决?
【注】测试环境: ApiExplorer。 建议大家写接口之前可以用钉钉官方提供的在线API进行测试,切记 ApiExplorer 发起 API 调用将对当前登录企业的线上数据发起实际调用,请谨慎操作
。
当访问获取部门列表接口
时死活提示:
{
"errcode":50004,
"errmsg":"请求的部门id不在授权范围内"
}
我以为是我的开发人员兼子管理员权限不够,于是我就联系客户使用主管理员的账号进行登录,结果还是不行,关键是官方也没说明白,整的很难懂。
填坑记录:问题就在【请选择权限范围
】,刚开始并没有特别关注这个不起眼的按钮(好吧,我好几次并没有翻到底部看到它,^_^^_^),当我第一次看到它是,我以为是赋予某个人去调用这些权限,经过测试后我发现了,这 TM 的是反着来的。
【重点】这里的选择权限范围指的是为用户开通以上已申请的权限,没有被授权的员工我们不能拥有读取改员工的任何信息,想要读取的话就只能为员工开通。
我想钉钉应该是出于对公司员工信息的保护而设置的这个权限,但是我所开发的是企业内部管理小程序,所以我这里就应该是【全部员工】。
这篇关于钉钉实战营学习打卡记录 Day 3 转身钉钉应用开发者,两步教你尝试调用一个接口来创建新用户呀的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南