关键开发后台
文档明确了三个主要的操作平台,开发者需根据角色区分使用:开发者后台
钉钉开发者后台是管理应用开发的服务平台。开发者可以配置应用信息,查看应用运行情况等。企业管理后台
钉钉企业管理后台是企业管理员用于管理组织架构、成员权限、工作台配置的核心平台。通过该后台,管理员可完成通讯录导入、审批流程设置、子管理员授权等操作。核心身份标识(ID体系)
在钉钉开发中,区分“谁”和“哪个应用”至关重要。文档中定义了以下关键ID:CorpId
代表钉钉中的一个企业组织的唯一标识。调用绝大多数企业级API时,必须配合此ID进行身份验证。 查看路径:登录钉钉开发者后台,在首页下查看企业的CorpId。
UserId
代表企业内的具体员工的唯一标识。用于发送消息、查询档案、审批等接口,不可更改。 查看路径:登录钉钉管理后台,在通讯录 > 成员管理页面,单击员工姓名可查看员工的UserId。
UnionId
用户跨应用统一标识,同一用户在同一个开放平台账号下的所有应用中拥有相同的UnionId,用于跨应用数据打通。 查看路径:通过用户的userId调用查询用户详情接口获取unionid参数值。
Unified App ID
钉钉为所有类型应用分配的全局唯一ID,旨在简化跨系统对接,逐步替代旧的AgentId/AppId体系。 查看路径:登录钉钉开发者后台,进入应用详情后,在凭证与基础信息中查看。
AgentId
企业内部应用(如H5、小程序)的能力标识。主要用于工作台管理API(如设置首页)。 查看路径:-
企业内部应用网页应用AgentId
-
企业内部应用小程序AgentId
安全凭证与权限 (Auth体系)
这部分是开发中最容易出错的地方,涉及API调用的鉴权和免登录逻辑。Client ID/Client Secret
- 定义:应用的身份凭证对(类似用户名和密码)。
- 用途:用于获取
access_token,企业内部应用和第三方应用均使用此机制。 - 注意:
Client Secret属于私密密钥,必须妥善保管,不可泄露。 - 获取:在钉钉开发者后台创建企业内部应用或第三方企业应用后,系统会自动生成一对 Client ID和 Client Secret。
说明
如果企业内部应用授权给服务商开发,服务商需要根据CustomKey和CustomSecret获取授权。
access_token
- 定义:调用 OpenAPI 的“门票”。
- 用途:每次调用受保护接口时,必须携带此凭据以验证合法性。
- 注意:有效期通常为 7200 秒(2小时),有效期内重复获取会自动续期。
-
获取:
- 企业内部应用,通过获取企业内部应用的accessToken接口获取access_token。
- 第三方企业应用,通过获取第三方应用授权企业的accessToken接口获取access_token。
-
差异:
- 企业内部应用的
access_token具备该应用所申请的所有权限。 - 第三方应用的
access_token权限受限于企业授权范围。
- 企业内部应用的
authCode
定义:用于用户身份认证的关键凭证。 用途:用于换取用户身份信息(如userid)。
注意:有效期仅为 5 分钟,使用一次后即失效且不可重复使用。
获取:通过调用 getAuthCode、requestAuthCode等接口获取,详细使用可参考身份验证(免登)。
jsapi_ticket
定义:用于生成前端 JS API 的签名。 用途:H5微应用需要安全调用钉钉提供的各类 JSAPI 能力(如获取用户信息、发起聊天、调用原生组件等)。 注意:有效期设为 2 小时,过期或参数不一致,将导致”jsapi ticket 读取失败”或“签名校验失败”等错误。 获取:使用access_token 调用获取jsapiTicket接口获取。
快速上手
以下伪代码展示如何使用CorpId 和 access_token 发起一次最简单的 API 调用,验证环境配置是否正确:
- 获取凭证:使用
Client ID和Client Secret调用接口获取access_token。 - 准备参数:在管理后台找到任意成员的
UserId。 - 替换参数:构造上述请求,替换
ACCESS_TOKEN和USERID。 - 发起测试:若返回
"errcode": 0, "errmsg": "ok",则表示配置成功,可继续后续开发。
提示:实际开发中请使用 HTTPS 并做好错误处理与重试机制。