lark-sdk 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +137 -56
- data/lib/lark/api.rb +16 -8
- data/lib/lark/apis/application.rb +29 -0
- data/lib/lark/apis/authen.rb +1 -1
- data/lib/lark/apis/bot.rb +17 -0
- data/lib/lark/apis/chat.rb +58 -2
- data/lib/lark/apis/contact.rb +95 -0
- data/lib/lark/apis/image.rb +13 -0
- data/lib/lark/apis/message.rb +5 -1
- data/lib/lark/apis/pay.rb +28 -0
- data/lib/lark/apis/user.rb +22 -0
- data/lib/lark/{route.rb → helper.rb} +4 -2
- data/lib/lark/version.rb +1 -1
- data/lib/lark.rb +1 -1
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d003559941994a3ad24c337838ee49a4517e179bc2841c2849da6c53a00f7d2
|
4
|
+
data.tar.gz: bdf9b9f83de83a3cb9be0d3c72bd08c30bb227649141384c205fc6fe5fe962fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9cde1e843859bd25b90b46b432fb37fe8a0425386a481a40ce2015cab8da0765d7689692f51ae8c8e754ec3b4b601ebe1f7a5be418240de0fe0c9dd2cc2fa786
|
7
|
+
data.tar.gz: e4515c1340f7a15c48c615cb04a196cd7641d2ef28ebb564f27abf74438813350396ee392dbb740434f52f1d33749cb9057cea90d6e8daaf78b9ee71475b568b
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Unofficial ruby SDKS for lark [飞书](https://www.feishu.cn/)
|
4
4
|
|
5
|
-
##
|
5
|
+
## 安装
|
6
6
|
|
7
7
|
Add this line to your application's Gemfile:
|
8
8
|
|
@@ -18,10 +18,11 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
$ gem install lark-sdk
|
20
20
|
|
21
|
+
require 'lark/sdk'
|
21
22
|
|
22
|
-
##
|
23
|
+
## 使用说明
|
23
24
|
|
24
|
-
|
25
|
+
初始化配置:
|
25
26
|
|
26
27
|
```ruby
|
27
28
|
# config/initializers/lark.rb
|
@@ -32,75 +33,155 @@ Lark.configure do |config|
|
|
32
33
|
end
|
33
34
|
```
|
34
35
|
|
35
|
-
|
36
|
+
新建 Lark API 接口实例:
|
36
37
|
|
37
38
|
```ruby
|
38
39
|
api = Lark::Api.new(
|
39
40
|
app_id: 'xxx',
|
40
41
|
app_secret: 'xxx',
|
41
42
|
tenant_key: 'xxx',
|
42
|
-
isv: false/true, #
|
43
|
+
isv: false/true, # 自建应用: false, 应用商店应用: true
|
43
44
|
)
|
44
45
|
```
|
45
46
|
|
46
|
-
|
47
|
+
加/解密:
|
47
48
|
|
48
49
|
```ruby
|
49
|
-
# Get chat list
|
50
|
-
api.chat.list
|
51
|
-
```
|
52
50
|
|
53
|
-
|
51
|
+
cipher = Lark::Cipher.new(encrypt_key)
|
54
52
|
|
55
|
-
|
56
|
-
|
53
|
+
# 解密
|
54
|
+
cipher.decrypt(message)
|
57
55
|
|
58
|
-
#
|
59
|
-
|
60
|
-
# Lark::Cipher.new('test key').decrypt encrypt
|
61
|
-
# => 'hello world'
|
56
|
+
# 加密
|
57
|
+
cipher.encrypt(message)
|
62
58
|
```
|
63
59
|
|
64
|
-
## Api
|
65
|
-
|
66
|
-
### 授权
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
获取 tenant_access_token
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
60
|
+
## Api 列表
|
61
|
+
|
62
|
+
### 授权
|
63
|
+
[`lib/lark/apis/auth.rb`](lib/lark/apis/auth.rb)
|
64
|
+
|
65
|
+
| 名称 | 接口 |
|
66
|
+
| --- | --- |
|
67
|
+
| [获取 app_access_token](https://open.feishu.cn/document/ukTMukTMukTM/uADN14CM0UjLwQTN) | `api.app_access_token` |
|
68
|
+
| [获取 tenant_access_token](https://open.feishu.cn/document/ukTMukTMukTM/uEjNz4SM2MjLxYzM) | `api.tenant_access_token` |
|
69
|
+
| 更新 app_ticket | `api.app_ticket=` |
|
70
|
+
| 获取 app_ticket | `api.app_ticket` |
|
71
|
+
| [重新推送 app_ticket](https://open.feishu.cn/document/ukTMukTMukTM/uQjNz4CN2MjL0YzM) | `api.auth.app_ticket_resend` |
|
72
|
+
|
73
|
+
### 身份验证
|
74
|
+
[`lib/lark/apis/authen.rb`](lib/lark/apis/authen.rb)
|
75
|
+
|
76
|
+
| 名称 | 接口 |
|
77
|
+
| --- | --- |
|
78
|
+
| [请求身份验证](https://open.feishu.cn/document/ukTMukTMukTM/ukzN4UjL5cDO14SO3gTN) | `api.authen.index(redirect_uri, state)` |
|
79
|
+
| [获取登录用户身份](https://open.feishu.cn/document/ukTMukTMukTM/uEDO4UjLxgDO14SM4gTN) | `api.authen.access_token(code)` |
|
80
|
+
| [刷新 access_token](https://open.feishu.cn/document/ukTMukTMukTM/uQDO4UjL0gDO14CN4gTN) | `api.authen.refresh_access_token(refresh_token)` |
|
81
|
+
| [获取用户信息](https://open.feishu.cn/document/ukTMukTMukTM/uIDO4UjLygDO14iM4gTN) | `api.authen.user_info(user_access_token)` |
|
82
|
+
|
83
|
+
|
84
|
+
### 通讯录
|
85
|
+
[`lib/lark/apis/contact.rb`](lib/lark/apis/contact.rb)
|
86
|
+
|
87
|
+
| 名称 | 接口 |
|
88
|
+
| --- | --- |
|
89
|
+
| [获取通讯录授权范围](https://open.feishu.cn/document/ukTMukTMukTM/ugjNz4CO2MjL4YzM) | `api.contact.scope_get` |
|
90
|
+
| [新增部门](https://open.feishu.cn/document/ukTMukTMukTM/uYzNz4iN3MjL2czM) | `api.contact.department_add` |
|
91
|
+
| [批量新增部门](https://open.feishu.cn/document/ukTMukTMukTM/uMDOwUjLzgDM14yM4ATN) | `api.contact.department_batch_add` |
|
92
|
+
| [删除部门](https://open.feishu.cn/document/ukTMukTMukTM/ugzNz4CO3MjL4czM) | `api.contact.department_delete` |
|
93
|
+
| [更新部门信息](https://open.feishu.cn/document/ukTMukTMukTM/uczNz4yN3MjL3czM) | `api.contact.department_update` |
|
94
|
+
| [获取部门详情](https://open.feishu.cn/document/ukTMukTMukTM/uAzNz4CM3MjLwczM) | `api.contact.department_get` |
|
95
|
+
| [获取子部门列表](https://open.feishu.cn/document/ukTMukTMukTM/ugzN3QjL4czN04CO3cDN) | `api.contact.department_children` |
|
96
|
+
| [获取子部门 ID 列表](https://open.feishu.cn/document/ukTMukTMukTM/ukjNz4SO2MjL5YzM) | `api.contact.department_children_ids` |
|
97
|
+
| [批量获取部门详情](https://open.feishu.cn/document/ukTMukTMukTM/uczN3QjL3czN04yN3cDN) | `api.contact.department_batch_get` |
|
98
|
+
| [获取部门用户列表](https://open.feishu.cn/document/ukTMukTMukTM/uEzNz4SM3MjLxczM) | `api.contact.department_user_list` |
|
99
|
+
| [获取部门用户详情](https://open.feishu.cn/document/ukTMukTMukTM/uYzN3QjL2czN04iN3cDN) | `api.contact.department_user_detail_list` |
|
100
|
+
| [新增用户](https://open.feishu.cn/document/ukTMukTMukTM/uMzNz4yM3MjLzczM) | `api.contact.user_add` |
|
101
|
+
| [批量新增用户](https://open.feishu.cn/document/ukTMukTMukTM/uIDOwUjLygDM14iM4ATN) | `api.contact.user_batch_add` |
|
102
|
+
| [删除用户](https://open.feishu.cn/document/ukTMukTMukTM/uUzNz4SN3MjL1czM) | `api.contact.user_delete` |
|
103
|
+
| [更新用户信息](https://open.feishu.cn/document/ukTMukTMukTM/uQzNz4CN3MjL0czM) | `api.contact.user_update` |
|
104
|
+
| [批量获取用户信息](https://open.feishu.cn/document/ukTMukTMukTM/uIzNz4iM3MjLyczM) | `api.contact.user_batch_get` |
|
105
|
+
| [获取企业自定义用户属性配置](https://open.feishu.cn/document/ukTMukTMukTM/ucTN3QjL3UzN04yN1cDN) | `api.contact.tenant_custom_attr_get` |
|
106
|
+
| [查询批量任务执行状态](https://open.feishu.cn/document/ukTMukTMukTM/uUDOwUjL1gDM14SN4ATN) | `api.contact.task_get` |
|
107
|
+
| [获取应用管理员管理范围](https://open.feishu.cn/document/ukTMukTMukTM/uMzN3QjLzczN04yM3cDN) | `api.contact.user_admin_scope_get` |
|
108
|
+
| [获取角色列表](https://open.feishu.cn/document/ukTMukTMukTM/uYzMwUjL2MDM14iNzATN) | `api.contact.role_list` |
|
109
|
+
| [获取角色成员列表](https://open.feishu.cn/document/ukTMukTMukTM/uczMwUjL3MDM14yNzATN) | `api.contact.role_members` |
|
110
|
+
| [使用手机号或邮箱获取用户 ID](https://open.feishu.cn/document/ukTMukTMukTM/uUzMyUjL1MjM14SNzITN) | `api.user.batch_get_id` |
|
111
|
+
|
112
|
+
|
113
|
+
### 用户群组
|
114
|
+
[`lib/lark/apis/user.rb`](lib/lark/apis/user.rb)
|
115
|
+
|
116
|
+
| 名称 | 接口 |
|
117
|
+
| --- | --- |
|
118
|
+
| [获取用户所在的群列表](https://open.feishu.cn/document/ukTMukTMukTM/uQzMwUjL0MDM14CNzATN) | `api.user.group_list` |
|
119
|
+
| [获取群成员列表](https://open.feishu.cn/document/ukTMukTMukTM/uUzMwUjL1MDM14SNzATN) | `api.chat.members` |
|
120
|
+
| [搜索用户所在的群列表](https://open.feishu.cn/document/ukTMukTMukTM/uUTOyUjL1kjM14SN5ITN) | `api.chat.search` |
|
121
|
+
|
122
|
+
|
123
|
+
### 应用管理
|
124
|
+
[`lib/lark/apis/application.rb`](lib/lark/apis/application.rb)
|
125
|
+
|
126
|
+
| 名称 | 接口 |
|
127
|
+
| --- | --- |
|
128
|
+
| [校验应用管理员](https://open.feishu.cn/document/ukTMukTMukTM/uITN1EjLyUTNx4iM1UTM) | `api.application.is_user_admin` |
|
129
|
+
| [获取应用在企业内的可用范围](https://open.feishu.cn/document/ukTMukTMukTM/uIjM3UjLyIzN14iMycTN) | `api.application.app_visibility` |
|
130
|
+
| [获取用户可用的应用](https://open.feishu.cn/document/ukTMukTMukTM/uMjM3UjLzIzN14yMycTN) | `api.application.user_visible_apps` |
|
131
|
+
| [获取企业安装的应用](https://open.feishu.cn/document/ukTMukTMukTM/uYDN3UjL2QzN14iN0cTN) | `api.application.app_list` |
|
132
|
+
| [更新应用可用范围](https://open.feishu.cn/document/ukTMukTMukTM/ucDN3UjL3QzN14yN0cTN) | `api.application.app_update_visibility` |
|
133
|
+
|
134
|
+
|
135
|
+
### 应用商店
|
136
|
+
[`lib/lark/apis/pay.rb`](lib/lark/apis/pay.rb)
|
137
|
+
|
138
|
+
| 名称 | 接口 |
|
139
|
+
| --- | --- |
|
140
|
+
| [查询用户是否在应用开通范围](查询用户是否在应用开通范围) | `api.pay.paid_scope_check_user` |
|
141
|
+
| [查询租户购买的付费方案](https://open.feishu.cn/document/ukTMukTMukTM/uETNwUjLxUDM14SM1ATN) | `api.pay.order_list` |
|
142
|
+
| [查询订单详情](https://open.feishu.cn/document/ukTMukTMukTM/uITNwUjLyUDM14iM1ATN) | `api.pay.order_get` |
|
143
|
+
|
144
|
+
|
145
|
+
### 机器人 → 群信息和群管理
|
146
|
+
[`lib/lark/apis/chat.rb`](lib/lark/apis/chat.rb)
|
147
|
+
|
148
|
+
| 名称 | 接口 |
|
149
|
+
| --- | --- |
|
150
|
+
| [创建群](https://open.feishu.cn/document/ukTMukTMukTM/ukDO5QjL5gTO04SO4kDN) | `api.chat.create` |
|
151
|
+
| [获取群列表](https://open.feishu.cn/document/ukTMukTMukTM/uITO5QjLykTO04iM5kDN) | `api.chat.list` |
|
152
|
+
| [获取群信息](https://open.feishu.cn/document/ukTMukTMukTM/uMTO5QjLzkTO04yM5kDN) | `api.chat.info` |
|
153
|
+
| [更新群信息](https://open.feishu.cn/document/ukTMukTMukTM/uYTO5QjL2kTO04iN5kDN) | `api.chat.update` |
|
154
|
+
| [拉用户进群](https://open.feishu.cn/document/ukTMukTMukTM/ucTO5QjL3kTO04yN5kDN) | `api.chat.chatter_add` |
|
155
|
+
| [移除用户出群](https://open.feishu.cn/document/ukTMukTMukTM/uADMwUjLwADM14CMwATN) | `api.chat.chatter_delete` |
|
156
|
+
| [解散群](https://open.feishu.cn/document/ukTMukTMukTM/uUDN5QjL1QTO04SN0kDN) | `api.chat.disband` |
|
157
|
+
|
158
|
+
|
159
|
+
### 机器人信息和管理
|
160
|
+
[`lib/lark/apis/bot.rb`](lib/lark/apis/bot.rb)
|
161
|
+
|
162
|
+
| 名称 | 接口 |
|
163
|
+
| --- | --- |
|
164
|
+
| [获取机器人信息](https://open.feishu.cn/document/ukTMukTMukTM/uAjMxEjLwITMx4CMyETM) | `api.bot.info` |
|
165
|
+
| [拉机器人进群](https://open.feishu.cn/document/ukTMukTMukTM/uYDO04iN4QjL2gDN) | `api.bot.add` |
|
166
|
+
| [将机器人移出群](https://open.feishu.cn/document/ukTMukTMukTM/ucDO04yN4QjL3gDN) | `api.bot.remove` |
|
167
|
+
|
168
|
+
|
169
|
+
### 消息
|
170
|
+
[`lib/lark/apis/message.rb`](lib/lark/apis/message.rb)
|
171
|
+
|
172
|
+
| 名称 | 接口 |
|
173
|
+
| --- | --- |
|
174
|
+
| [批量发送消息](https://open.feishu.cn/document/ukTMukTMukTM/ucDO1EjL3gTNx4yN4UTM) | `api.message.batch_send` |
|
175
|
+
| [发送消息(文本/图片/富文本/名片/卡片)](https://open.feishu.cn/document/ukTMukTMukTM/uUjNz4SN2MjL1YzM) | `api.message.direct_send` |
|
176
|
+
|
177
|
+
|
178
|
+
### 图片
|
179
|
+
[`lib/lark/apis/image.rb`](lib/lark/apis/image.rb)
|
180
|
+
|
181
|
+
| 名称 | 接口 |
|
182
|
+
| --- | --- |
|
183
|
+
| [上传图片](https://open.feishu.cn/document/ukTMukTMukTM/uEDO04SM4QjLxgDN) | `api.image.upload` |
|
184
|
+
| [获取图片](https://open.feishu.cn/document/ukTMukTMukTM/uYzN5QjL2cTO04iN3kDN) | `api.image.download` |
|
104
185
|
|
105
186
|
|
106
187
|
## Development
|
data/lib/lark/api.rb
CHANGED
@@ -2,15 +2,20 @@ require 'lark/request'
|
|
2
2
|
|
3
3
|
module Lark
|
4
4
|
class Api
|
5
|
-
include
|
5
|
+
include Helper
|
6
6
|
include Apis::Message
|
7
7
|
include Apis::Chat
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
9
|
+
api_mount :auth
|
10
|
+
api_mount :authen
|
11
|
+
api_mount :contact
|
12
|
+
api_mount :user
|
13
|
+
api_mount :application
|
14
|
+
api_mount :pay
|
15
|
+
api_mount :chat
|
16
|
+
api_mount :bot
|
17
|
+
api_mount :message
|
18
|
+
api_mount :image
|
14
19
|
|
15
20
|
attr_reader :app_id, :app_secret, :tenant_key, :isv, :options
|
16
21
|
|
@@ -79,8 +84,11 @@ module Lark
|
|
79
84
|
end
|
80
85
|
|
81
86
|
def with_token(headers, tries=2)
|
82
|
-
|
83
|
-
token
|
87
|
+
token = headers[:access_token]
|
88
|
+
if token.nil?
|
89
|
+
via = headers[:via] || 'tenant'
|
90
|
+
token = send("#{via}_access_token")
|
91
|
+
end
|
84
92
|
yield headers.merge(authorization: "Bearer #{token}")
|
85
93
|
rescue AccessTokenExpiredError
|
86
94
|
send("#{via}_token_store").fetch_token
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Lark
|
2
|
+
module Apis
|
3
|
+
module Application
|
4
|
+
def is_user_admin(params={})
|
5
|
+
get 'application/v3/is_user_admin', params: params
|
6
|
+
end
|
7
|
+
|
8
|
+
def app_visibility(app_id:, user_page_token: nil, user_page_size: nil)
|
9
|
+
get 'application/v1/app/visibility', params: {
|
10
|
+
app_id: app_id,
|
11
|
+
user_page_token: user_page_token,
|
12
|
+
user_page_size: user_page_size
|
13
|
+
}.compact
|
14
|
+
end
|
15
|
+
|
16
|
+
def user_visible_apps(params={})
|
17
|
+
get 'application/v1/user/visible_apps', params: params
|
18
|
+
end
|
19
|
+
|
20
|
+
def app_list(params={})
|
21
|
+
get 'application/v3/app/list', params: params
|
22
|
+
end
|
23
|
+
|
24
|
+
def app_update_visibility(payload={})
|
25
|
+
post 'application/v3/app/update_visibility', payload
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/lark/apis/authen.rb
CHANGED
data/lib/lark/apis/chat.rb
CHANGED
@@ -1,8 +1,64 @@
|
|
1
1
|
module Lark
|
2
2
|
module Apis
|
3
3
|
module Chat
|
4
|
-
def
|
5
|
-
|
4
|
+
def members(user_access_token:, chat_id:, page_size: nil, page_token: nil)
|
5
|
+
get 'chat/v4/members', {
|
6
|
+
access_token: user_access_token,
|
7
|
+
params: {
|
8
|
+
page_size: page_size,
|
9
|
+
page_token: page_token
|
10
|
+
}.compact
|
11
|
+
end
|
12
|
+
|
13
|
+
def search(user_access_token:, query:, page_size: nil, page_token: nil)
|
14
|
+
get 'chat/v4/members', {
|
15
|
+
access_token: user_access_token,
|
16
|
+
params: {
|
17
|
+
access_token: user_access_token,
|
18
|
+
query: query,
|
19
|
+
page_size: page_size,
|
20
|
+
page_token: page_token
|
21
|
+
}
|
22
|
+
}.compact
|
23
|
+
end
|
24
|
+
|
25
|
+
def create(payload={})
|
26
|
+
post 'chat/v4/create/', payload
|
27
|
+
end
|
28
|
+
|
29
|
+
def list(page_size: nil, page_token: nil)
|
30
|
+
get 'chat/v4/list/', params: {
|
31
|
+
page_size: page_size,
|
32
|
+
page_token: page_token
|
33
|
+
}.compact
|
34
|
+
end
|
35
|
+
|
36
|
+
def info(chat_id)
|
37
|
+
get 'chat/v4/info/', params: {chat_id: chat_id}
|
38
|
+
end
|
39
|
+
|
40
|
+
def update(payload={})
|
41
|
+
get 'chat/v4/update/', payload
|
42
|
+
end
|
43
|
+
|
44
|
+
def chatter_add(chat_id:, user_ids: nil, open_ids: nil)
|
45
|
+
post 'chat/v4/chatter/add/', {
|
46
|
+
chat_id: chat_id,
|
47
|
+
user_ids: user_ids,
|
48
|
+
open_ids: open_ids
|
49
|
+
}.compact
|
50
|
+
end
|
51
|
+
|
52
|
+
def chatter_delete(chat_id:, user_ids: nil, open_ids: nil)
|
53
|
+
post 'chat/v4/chatter/delete/', {
|
54
|
+
chat_id: chat_id,
|
55
|
+
user_ids: user_ids,
|
56
|
+
open_ids: open_ids
|
57
|
+
}.compact
|
58
|
+
end
|
59
|
+
|
60
|
+
def disband(chat_id)
|
61
|
+
post 'chat/v4/disband', {chat_id: chat_id}
|
6
62
|
end
|
7
63
|
end
|
8
64
|
end
|
data/lib/lark/apis/contact.rb
CHANGED
@@ -8,6 +8,101 @@ module Lark
|
|
8
8
|
def department_add(payload={})
|
9
9
|
post 'contact/v1/department/add', payload
|
10
10
|
end
|
11
|
+
|
12
|
+
def department_batch_add(payload={})
|
13
|
+
post 'contact/v2/department/batch_add', payload
|
14
|
+
end
|
15
|
+
|
16
|
+
def department_delete(department_id)
|
17
|
+
post 'contact/v1/department/delete', {id: department_id}
|
18
|
+
end
|
19
|
+
|
20
|
+
def department_update(payload={})
|
21
|
+
post 'contact/v1/department/update', payload
|
22
|
+
end
|
23
|
+
|
24
|
+
def department_get(department_id)
|
25
|
+
get 'contact/v1/department/info/get', params: {department_id: department_id}
|
26
|
+
end
|
27
|
+
|
28
|
+
def department_children(department_id:, offset:, page_size:, fetch_child: false)
|
29
|
+
get 'contact/v1/department/simple/list', params: {
|
30
|
+
department_id: department_id,
|
31
|
+
offset: offset,
|
32
|
+
page_size: page_size,
|
33
|
+
fetch_child: fetch_child
|
34
|
+
}.compact
|
35
|
+
end
|
36
|
+
|
37
|
+
def department_children_ids(department_id)
|
38
|
+
get 'contact/v1/department/list', params: {department_id: department_id}
|
39
|
+
end
|
40
|
+
|
41
|
+
def department_batch_get(department_ids=[])
|
42
|
+
get 'contact/v1/department/detail/batch_get', params: {department_id: department_ids}
|
43
|
+
end
|
44
|
+
|
45
|
+
def department_user_list(department_id:, offset:, page_size:, fetch_child: false)
|
46
|
+
get 'contact/v1/department/user/list', params: {
|
47
|
+
department_id: department_id,
|
48
|
+
offset: offset,
|
49
|
+
page_size: page_size,
|
50
|
+
fetch_child: fetch_child
|
51
|
+
}.compact
|
52
|
+
end
|
53
|
+
|
54
|
+
def department_user_detail_list(department_id:, offset:, page_size:, fetch_child: false)
|
55
|
+
get 'contact/v1/department/user/detail/list', params: {
|
56
|
+
department_id: department_id,
|
57
|
+
offset: offset,
|
58
|
+
page_size: page_size,
|
59
|
+
fetch_child: fetch_child
|
60
|
+
}.compact
|
61
|
+
end
|
62
|
+
|
63
|
+
def user_add(payload={})
|
64
|
+
post 'contact/v1/user/add', payload
|
65
|
+
end
|
66
|
+
|
67
|
+
def user_batch_add(payload={})
|
68
|
+
post 'contact/v2/user/batch_add', payload
|
69
|
+
end
|
70
|
+
|
71
|
+
def user_delete(payload={})
|
72
|
+
post 'contact/v1/user/delete', payload
|
73
|
+
end
|
74
|
+
|
75
|
+
def user_update(payload={})
|
76
|
+
post 'contact/v1/user/update', payload
|
77
|
+
end
|
78
|
+
|
79
|
+
def user_batch_get(params=[])
|
80
|
+
get 'contact/v1/user/batch_get', params: params
|
81
|
+
end
|
82
|
+
|
83
|
+
def tenant_custom_attr_get
|
84
|
+
get 'contact/v1/tenant/custom_attr/get'
|
85
|
+
end
|
86
|
+
|
87
|
+
def task_get(task_id)
|
88
|
+
get 'contact/v2/task/get', params: {task_id: task_id}
|
89
|
+
end
|
90
|
+
|
91
|
+
def user_admin_scope_get(params)
|
92
|
+
get 'contact/v1/user/admin_scope/get', params: params
|
93
|
+
end
|
94
|
+
|
95
|
+
def role_list
|
96
|
+
get 'contact/v2/role/list'
|
97
|
+
end
|
98
|
+
|
99
|
+
def role_members(role_id:, page_token: nil, page_size: nil)
|
100
|
+
get 'contact/v2/role/members', params: {
|
101
|
+
role_id: role_id,
|
102
|
+
page_token: page_token,
|
103
|
+
page_size: page_size
|
104
|
+
}.compact
|
105
|
+
end
|
11
106
|
end
|
12
107
|
end
|
13
108
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Lark
|
2
|
+
module Apis
|
3
|
+
module Image
|
4
|
+
def upload(image, image_type)
|
5
|
+
post_file 'image/v4/put/', file, params: { image_type: image_type }
|
6
|
+
end
|
7
|
+
|
8
|
+
def download(image_key)
|
9
|
+
get 'image/v4/get', params: { image_key: image_key }, as: :file
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/lib/lark/apis/message.rb
CHANGED
@@ -0,0 +1,28 @@
|
|
1
|
+
module Lark
|
2
|
+
module Apis
|
3
|
+
module Pay
|
4
|
+
def paid_scope_check_user(open_id: nil, user_id: nil)
|
5
|
+
get 'pay/v1/paid_scope/check_user', params: {
|
6
|
+
open_id: open_id,
|
7
|
+
user_id: user_id
|
8
|
+
}.compact
|
9
|
+
end
|
10
|
+
|
11
|
+
def order_list(params={})
|
12
|
+
get 'pay/v1/order/list', {
|
13
|
+
via: 'app',
|
14
|
+
params: params
|
15
|
+
}
|
16
|
+
end
|
17
|
+
|
18
|
+
def order_get(order_id)
|
19
|
+
get 'pay/v1/order/get', {
|
20
|
+
via: 'app',
|
21
|
+
params: {
|
22
|
+
order_id: order_id
|
23
|
+
}
|
24
|
+
}
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Lark
|
2
|
+
module Apis
|
3
|
+
module User
|
4
|
+
def group_list(user_access_token:, page_size: nil, page_token: nil)
|
5
|
+
get 'user/v4/group_list', {
|
6
|
+
access_token: user_access_token,
|
7
|
+
params: {
|
8
|
+
page_size: page_size,
|
9
|
+
page_token: page_token
|
10
|
+
}
|
11
|
+
}.compact
|
12
|
+
end
|
13
|
+
|
14
|
+
def batch_get_id(emails: nil, mobiles: nil)
|
15
|
+
get 'user/v1/batch_get_id', params: {
|
16
|
+
emails: emails,
|
17
|
+
mobiles: mobiles
|
18
|
+
}.compact
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/lark/version.rb
CHANGED
data/lib/lark.rb
CHANGED
@@ -3,7 +3,7 @@ require 'redis'
|
|
3
3
|
require 'active_support/all'
|
4
4
|
require 'lark/config'
|
5
5
|
require 'lark/cipher'
|
6
|
-
require 'lark/
|
6
|
+
require 'lark/helper'
|
7
7
|
|
8
8
|
LIB_PATH = "#{File.dirname(__FILE__)}/lark"
|
9
9
|
Dir["#{LIB_PATH}/apis/*.rb", "#{LIB_PATH}/token_store/*.rb"].each { |path| require path }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lark-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Dong
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-02-
|
11
|
+
date: 2020-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|
@@ -113,15 +113,20 @@ files:
|
|
113
113
|
- lark.gemspec
|
114
114
|
- lib/lark.rb
|
115
115
|
- lib/lark/api.rb
|
116
|
+
- lib/lark/apis/application.rb
|
116
117
|
- lib/lark/apis/auth.rb
|
117
118
|
- lib/lark/apis/authen.rb
|
119
|
+
- lib/lark/apis/bot.rb
|
118
120
|
- lib/lark/apis/chat.rb
|
119
121
|
- lib/lark/apis/contact.rb
|
122
|
+
- lib/lark/apis/image.rb
|
120
123
|
- lib/lark/apis/message.rb
|
124
|
+
- lib/lark/apis/pay.rb
|
125
|
+
- lib/lark/apis/user.rb
|
121
126
|
- lib/lark/cipher.rb
|
122
127
|
- lib/lark/config.rb
|
128
|
+
- lib/lark/helper.rb
|
123
129
|
- lib/lark/request.rb
|
124
|
-
- lib/lark/route.rb
|
125
130
|
- lib/lark/sdk.rb
|
126
131
|
- lib/lark/token_store/app_token.rb
|
127
132
|
- lib/lark/token_store/base.rb
|