# 钉钉登录集成

配置钉钉企业内部应用，让预先导入的成员从钉钉客户端登录 AskTable。

使用指南 · 模块: integrations · 管理人员 · 部署形态：Cloud / 私有部署 · 已确认产品版本：资料未说明 · 来源：编辑整理 · 变更章节按产品 4.2.48-1026 核对（CLI 命令另按 0.0.10）；不代表所有实例已升级，也不是完整历史支持矩阵。

组织 Owner 或 Admin 可以连接钉钉应用，导入允许登录的员工。以下操作已按产品 `4.2.48-1026` 核对；旧实例请先确认版本。

## 准备应用和权限

在钉钉开发者后台创建企业内部应用，启用网页应用能力，取得以下凭据：

| AskTable 字段   | 填写内容                            |
| ------------- | ------------------------------- |
| CorpID        | 应用所属企业的 CorpID，可从开发者后台首页的企业信息查看 |
| Client ID     | 原 AppKey / SuiteKey             |
| Client Secret | 原 AppSecret / SuiteSecret，填写完整值 |

凭据必须来自同一个企业内部应用。应用凭证页的 App ID 和 AgentId 都不是 CorpID，当前组织登录集成也不需要填写这两项。

在应用权限管理中开通以下四项权限，将需要导入的部门、成员纳入授权范围，再提交和发布应用版本：

- `qyapi_get_department_member`
- `qyapi_get_member`
- `qyapi_get_department_list`
- `Contact.User.Read`

AskTable 配置页的 **应用配置 → 权限配置 → 所需权限** 可以查看、逐项复制权限码。登录身份使用企业内的 `userid`，不需要手机号或邮箱权限。

## 连接 AskTable

进入 **个人设置 → 登录集成 → 钉钉**，点击 **启用**，填写 CorpID、Client ID 和完整 Client Secret。不要填写脱敏密钥。CorpID 保存后不能直接修改；更换企业前先断开集成。

复制详情页的完整登录地址，填入钉钉网页应用的 PC 端和移动端首页。按钉钉后台要求配置可信域名和服务器出口 IP，并发布应用。

- 私有部署地址形如 `https://你的域名/login/sso/dingtalk`，不带组织参数。
- Cloud 地址带 `?org_id=...`，必须完整保留。
- 部署有路径前缀时，以页面显示的完整地址为准。

当前只支持钉钉客户端内免登，通过微应用免登授权码识别员工；不使用网页扫码登录。

## 导入并验证成员

在 AskTable 钉钉详情页点击 **导入成员**，选择应用可见范围内的人并提交，再用已导入成员从钉钉工作台打开应用。

首次登录不会自动创建账号。AskTable 账号和组织成员关系都必须正常，重新导入不会恢复已停用成员。同一员工从钉钉、飞书或企业微信导入会分别建号、占用席位，不按手机号或邮箱合并。

当前不提供通讯录自动同步和离职自动停用。断开集成保留账号、成员和项目历史，详见[企业集成登录](https://docs.asktable.com/organization/enterprise-login)。导入后仍需分配[项目角色](https://docs.asktable.com/organization/invitations)和[数据权限](https://docs.asktable.com/permissions)。

## 排障

| 现象          | 检查                                     |
| ----------- | -------------------------------------- |
| 读不到导入候选     | Client ID、Client Secret、通讯录接口权限和人员授权范围 |
| 无法免登        | CorpID 与应用企业是否一致、应用主页和发布状态、是否在钉钉客户端中打开 |
| 已识别身份但登录被拒绝 | 是否已导入，AskTable 账号和组织成员是否正常             |
