ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

钉钉实战营学习打卡记录 Day 3 转身钉钉应用开发者,两步教你尝试调用一个接口来创建新用户呀

2021-04-27 10:01:12  阅读:293  来源: 互联网

标签:String 接口 员工 部门 开发者 打卡 权限 Day 个字符


搞定了一个钉钉应用,怎样调用接口来创建一个新用户呢?从这篇说开去

目录

二、调用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

是否开启高管模式:

  • true:开启。

    开启后,手机号码对所有员工隐藏。普通员工无法对其发DING、发起钉钉免费商务电话。高管之间不受影响。

  • false:不开启。

isHide

Boolean

true

是否号码隐藏:

  • true:隐藏。

    隐藏手机号后,手机号在个人资料页隐藏,但仍可对其发DING、发起钉钉免费商务电话。

  • false:不隐藏。

jobnumber

String

1001

员工工号,对应显示到OA后台和客户端个人资料的工号栏目。

长度为0~64个字符。

email

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。示例: [工位地址](http://www.dingtalk.com?userid=#userid#&corpid=#corpid#)。

查看扩展属性:

  • 链接类型扩展属性,只支持在“移动端钉钉-点击该用户头像-个人资料页”查看,点击链接可以跳转

  • 非链接类型扩展属性,支持在“移动端钉钉/PC端钉钉-点击该用户头像-个人资料页”查看。

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 调用将对当前登录企业的线上数据发起实际调用,请谨慎操作

当访问获取部门列表接口时死活提示:

  1. {

  2. "errcode":50004,

  3. "errmsg":"请求的部门id不在授权范围内"

  4. }

我以为是我的开发人员兼子管理员权限不够,于是我就联系客户使用主管理员的账号进行登录,结果还是不行,关键是官方也没说明白,整的很难懂。

填坑记录:问题就在【请选择权限范围】,刚开始并没有特别关注这个不起眼的按钮(好吧,我好几次并没有翻到底部看到它,^_^^_^),当我第一次看到它是,我以为是赋予某个人去调用这些权限,经过测试后我发现了,这 TM 的是反着来的。

 

重点】这里的选择权限范围指的是为用户开通以上已申请的权限,没有被授权的员工我们不能拥有读取改员工的任何信息,想要读取的话就只能为员工开通。

我想钉钉应该是出于对公司员工信息的保护而设置的这个权限,但是我所开发的是企业内部管理小程序,所以我这里就应该是【全部员工】。

 

 

标签:String,接口,员工,部门,开发者,打卡,权限,Day,个字符
来源: https://blog.csdn.net/Ryanada/article/details/116190387

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有