本文最后更新于 2024年5月16日。
操作教程
- 前往 开放平台 > 应用开发 > 钉钉应用 并点击「创建应用」,输入相关信息确定创建
- 在跳转至的页面,选择添加「机器人」;勾选「机器人配置」,输入相关信息;消息接收模式选择
Stream 模式
时,插件的protocol
选择ws
,选择HTTP 模式
时,将机器人的selfUrl
值后连接/dingtalk
(如https://example.com/dingtalk
) 填入钉钉平台的消息接收地址,插件的protocol
选择http
;最后点击发布按钮 - 在左侧打开「凭证与基础信息」页面,将
Client ID
填入插件的appkey
字段,将Client Secret
填入插件的secret
字段。 - (可选) 为了在控制台中显示应用名称与头像,请参照 添加接口调用权限 操作,申请
qyapi_get_microapp_list
权限;在左侧打开「添加应用能力」,选择添加「网页应用」。将「企业内部应用 AgentId」填入插件的agentId
字段
注意
appkey和secret的内容不要写反,不然连接不上,另外,钉钉机器人状态一定要发布才能生效。
按照教程配置前三步就可以使用了。
不过插件运行日志会报错误
`2024-01-19 13:10:20 [W] dingtalk Error: [403] {"code":"Forbidden.AccessDenied.AccessTokenPermissionDenied","requestid":"B151D9BC-43DB-7EB0-AEC2-341174962B5E","message":"没有调用该接口的权限,接口权限申请参考:https://open.dingtalk.com/document/orgapp-server/add-api-permission","accessdenieddetail":{"requiredScopes":["qyapi_get_microapp_list"]}} at _Internal.<computed> [as listAllInnerApps] (/koishi/node_modules/@satorijs/adapter-dingtalk/lib/index.js:368:21) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async _DingtalkBot.getLogin (/koishi/node_modules/@satorijs/adapter-dingtalk/lib/index.js:399:27) at async _WsClient.prepare (/koishi/node_modules/@satorijs/adapter-dingtalk/lib/index.js:282:5) at async reconnect (/koishi/node_modules/@satorijs/core/lib/index.cjs:450:24)`
`2024-01-19 13:10:20 [I] adapter connect to server: wss://wss-open-connection.dingtalk.com/connect`
所以准备申请第四步的权限。
但是该权限需要组织管理员同意,所以决定自己创建组织。
创建组织之后就能顺利启用了。
然后开启网页应用能力,接入网站,就可以在钉钉应用中的自建应用类别中看到自己的应用。
安装插件
@koishijs/plugin-adapter-dingtalk
在钉钉开发平台创建应用
https://open-dev.dingtalk.com/
设置名称等基础信息。
消息使用Stream 模式
,方便简单。