Skip to content

DavidAlphaFox/aiding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

钉钉SDK

说明

由于钉钉(DingTalk)并未提供官方的Erlang版本的 SDK,因此才编写的这个Erlang版本的SDK,用来完成钉钉平台所有的操作

功能

如何使用

依赖

因使用erlang.mk进行的构建管理,因此需要 GNU Make 4 及以上来进行构建

依赖的类库

  • cowlib
  • gun
  • ranch
  • cowboy
  • poolboy
  • jsx
  • ailib
  • aihttp

使用

配置钉钉相关信息

在项目启动后需要使用ai_ding_conf来进行钉钉配置

ai_ding_conf:start(Module)

其中的Module为包含钉钉配置信息的模块,该模块需要支持以下行为

-callback app_token(Context) -> string().
-callback app_isv(Context)-> boolean().
-callback app_secret(Context)-> string().
-callback app_key(Context)-> string().
-callback app_id(Context) -> string().

Context 是一个获取各配置的上下文,需要使用者去指定

  • app_key基础信息中的AppKey当为ISV应用时是suiteKey
  • app_secret基础信息中的AppSecret当为ISV应用时是suiteSecret
  • app_token基础消息中的Token (仅限ISV应用)
  • app_key基础消息中的数据加密密钥(ENCODING_AES_KEY) (仅限ISV应用)
  • app_isv在ISV应用时应返回true
  • app_id基础消息中的AgentId

消息处理handler

注意事项

工作消息

  • 工作消息是无法向根组织ID:1发送消息,如果需要发送这种消息,需要使用 to_all_user来实现
  • 工作消息接受的用户ID组织ID是字符串,使用逗号(,)来分割,而不是一个整 形列表

组织架构

  • 通过获取部门用户userid列表获取部门用户或者获取部门用户详情来获取本部 门下面子部门的用户,因此需要逐层遍历来完成用户获取
  • 用户没有加入任何部门的时候,将会默认归属于根组织ID:1

About

DingTalk tools for productions from ailink.io

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published