调用钉钉接口操作手册
钉钉开发过程中遇到的名词的阐释.
https://open-doc.dingtalk.com/microapp/index/kv5e1t
CorpID是企业在钉钉中的标识,每个企业拥有唯一的CorpID。
操作路径:登入OA管理后台(https://oa.dingtalk.com)→企业应用→工作台设置→自建应用→“应用开发”进入开发者后台→首页
考虑到CorpSecret属于企业的机密信息,此次针对获取CorpSecret权限做了控制,实现可按需灵活分配的效果;由企业主管理员根据实际场景的需要来进行设置(比如公司财务部需定制一套财务系统,则将财务经理设置为企业子管理员,管理范围为财务部,授予开发者权限,财务经理在开发者后台即可为财务部生成CorpSecret提供给开发者,也可将企业内信息管理负责人设置为子管理员授予开发权限,管理公司各部门CorpSecret)。
代表应用和企业映射关系的ID(应用在企业开通后的开通记录ID),同一个ISV应用在不同企业的agentId不一致。
操作路径:登入OA管理后台(https://oa.dingtalk.com)→企业应用→工作台设置→自建应用→“应用开发”进入开发者后台
详解:
1.登入oa管理后台,点击“工作台”,点击“自建应用”。
2.跳转到开发者后台,单击”创建应用”,填入应用基本信息,选择“企业内部自主开发”
3.在应用类型处选择”企业内部应用”
4.添加完基本信息以后,单击下一步
5.配置开发信息
服务器出口IP: 124.236.xxx.xx
在填写IP地址的时候IP地址可以写成上面的形式,也可以写成124.236.xxx.*
6.点击创建以后,该E应用创建完成.回到应用列表我们即可看见我们创建的E应用.
AgentID: #企业应用id,这个值代表以哪个应用的名义发送消息
Access_Token是企业访问钉钉开放平台全局接口的唯一凭证,即调用接口时需携带Access_Token。
对于企业接入来说,AccessToken需要用CorpID和CorpSecret来获取,CorpID是企业在钉钉中的标识;每个企业拥有一个唯一的CorpID,CorpSecret是企业每个微应用的凭证密钥。
CorpID和CorpSecret可以在开发者后台中找到,参见此链接。
不同的CorpSecret会返回不同的AccessToken。正常情况下AccessToken有效期为7200秒,有效期内重复获取返回相同结果,并自动续期。
说明:获取Access_Token有两种方法:
第一种:通过CorpID和CorpSecret来获取(微应用的)
第二种: 获取内部应用的appKey和appSecret来获取(E应用的)
CorpID和CorpSecret, appKey和appSecret在管理员后台都可以获取.
请求说明
请求方式:GET
接口地址:https://oapi.dingtalk.com/gettoken?corpid=id&corpsecret=secrect
参数 |
参数类型 |
必须 |
说明 |
corpid |
String |
是 |
企业Id |
corpsecret |
String |
是 |
企业应用的凭证密钥 |
返回说明
1 2 3 4 5 |
{ "errcode": 0, "errmsg": "ok", "access_token": "fw8ef8we8f76e6f7s8df8s" } |
参数 |
说明 |
errcode |
错误码 |
errmsg |
错误信息 |
expires_in |
过期时间 |
access_token |
获取到的凭证 |
b)错误的Json返回示例:
1 2 3 4 |
{ "errcode": 43003, "errmsg": "require https" } |
具体的方法会在接下来的项目应用部分展示.
以下代码是实现功能的主要代码
<dependency>
<groupId>com.alibabagroupId>
<artifactId>fastjsonartifactId>
<version>1.1.40version>
dependency>
<dependency>
<groupId>com.dingtalk.opengroupId>
<artifactId>client-sdk.apiartifactId>
<version>1.0.2version>
dependency>
<dependency>
<groupId>com.dingtalk.opengroupId>
<artifactId>client-sdk.core artifactId>
<version>1.0.0version>
dependency>
<dependency>
<groupId>com.dingtalk.opengroupId>
<artifactId>client-sdk.commonartifactId>
<version>1.0.0version>
dependency>
<dependency>
<groupId>com.dingtalk.opengroupId>
<artifactId>client-sdk.springartifactId>
<version>1.0.0version>
dependency>
<dependency>
<groupId>com.dingtalk.opengroupId>
<artifactId>client-sdk.exampleartifactId>
<version>1.0.0version>
dependency>
<dependency>
<groupId>com.ninggroupId>
<artifactId>async-http-clientartifactId>
<version>1.9.32version>
dependency>
<dependency>
<groupId>org.apache.httpcomponentsgroupId>
<artifactId>httpclientartifactId>
<version>4.5.2version>
dependency>
现在已经获取到的公司后台的信息如下:
CorpID
CORPSECRET
项目AGENTID
https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7386797.0.0.AOcxUu&source=search&treeId=373&articleId=104980&docType=1
https://open-doc.dingtalk.com/microapp/serverapi2/gh60vz