lark-sdk 1.2.0 → 1.2.1
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 +8 -7
- data/Rakefile +4 -0
- data/lib/lark.rb +0 -2
- data/lib/lark/api.rb +1 -1
- data/lib/lark/apis/authen.rb +3 -3
- data/lib/lark/apis/image.rb +2 -2
- data/lib/lark/config.rb +8 -2
- data/lib/lark/request.rb +6 -4
- data/lib/lark/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f85b0fe40fd06b6433cc6e3d5d2dfb324fc8587054e3e5338a0bcc255eae20d
|
4
|
+
data.tar.gz: 978dffe16def339df6de1459bb8a7ea21adea598cee7b864b649c21a051549f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5379f843398ca53a26fdd905bbff9a4f1a98872c8f655ca574881da048c56334832965424d8339986ec96718de0ab6f3e8b8b3581deee32ff2c27604be72e499
|
7
|
+
data.tar.gz: b23e6499d47d352caa05eeef4de1baa1943347fce24b65143c369eff59b274a472e5f966b0a2ac0c4e2770aef6f2b45b1fd433af6a2d7650ef94b999f5f30a48
|
data/README.md
CHANGED
@@ -12,13 +12,13 @@ gem 'lark-sdk'
|
|
12
12
|
|
13
13
|
And then execute:
|
14
14
|
|
15
|
-
|
15
|
+
$ bundle install
|
16
16
|
|
17
17
|
Or install it yourself as:
|
18
18
|
|
19
|
-
|
19
|
+
$ gem install lark-sdk
|
20
20
|
|
21
|
-
|
21
|
+
require 'lark/sdk'
|
22
22
|
|
23
23
|
## 使用
|
24
24
|
|
@@ -32,6 +32,7 @@ Lark.configure do |config|
|
|
32
32
|
config.default_app_id = 'xxx' # 应用 app ID
|
33
33
|
config.default_app_secret = 'xxx' # 应用 app secret
|
34
34
|
config.default_isv = true # 自建应用: false, 应用商店应用: true
|
35
|
+
config.api_base_url = 'https://open.feishu.cn/open-apis/' # API 地址,默认:https://open.feishu.cn/open-apis/
|
35
36
|
# ...
|
36
37
|
end
|
37
38
|
```
|
@@ -40,10 +41,10 @@ end
|
|
40
41
|
|
41
42
|
```ruby
|
42
43
|
api = Lark::Api.new(
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
44
|
+
app_id: 'xxx', # default: Lark.config.default_app_id
|
45
|
+
app_secret: 'xxx', # default: Lark.config.default_app_secret
|
46
|
+
isv: false/true, # default: Lark.config.default_app_secret
|
47
|
+
tenant_key: 'xxx' # required while internal app
|
47
48
|
)
|
48
49
|
```
|
49
50
|
|
data/Rakefile
CHANGED
data/lib/lark.rb
CHANGED
@@ -11,8 +11,6 @@ Dir["#{lib_path}/apis/**/*.rb", "#{lib_path}/token_store/*.rb"].each { |path| r
|
|
11
11
|
require 'lark/api'
|
12
12
|
|
13
13
|
module Lark
|
14
|
-
API_BASE_URL = 'https://open.feishu.cn/open-apis/'.freeze
|
15
|
-
|
16
14
|
# Exceptions
|
17
15
|
class RedisNotConfigException < RuntimeError; end
|
18
16
|
class AppNotConfigException < RuntimeError; end
|
data/lib/lark/api.rb
CHANGED
data/lib/lark/apis/authen.rb
CHANGED
@@ -5,7 +5,7 @@ module Lark
|
|
5
5
|
module Authen
|
6
6
|
def index(redirect_uri, state)
|
7
7
|
uri = ERB::Util.url_encode(redirect_uri)
|
8
|
-
"#{URI
|
8
|
+
"#{URI.join(Lark.api_base_url, 'authen/v1/index')}?redirect_uri=#{uri}&app_id=#{app_id}&state=#{state}"
|
9
9
|
end
|
10
10
|
|
11
11
|
def access_token(code)
|
@@ -25,8 +25,8 @@ module Lark
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def user_info(user_access_token)
|
28
|
-
request.get 'authen/v1/user_info', {access_token: user_access_token}
|
28
|
+
request.get 'authen/v1/user_info', { access_token: user_access_token }
|
29
29
|
end
|
30
30
|
end
|
31
31
|
end
|
32
|
-
end
|
32
|
+
end
|
data/lib/lark/apis/image.rb
CHANGED
@@ -5,8 +5,8 @@ module Lark
|
|
5
5
|
post_file 'image/v4/put/', image, params: { image_type: image_type }
|
6
6
|
end
|
7
7
|
|
8
|
-
def download(image_key)
|
9
|
-
get 'image/v4/get', params:
|
8
|
+
def download(image_key, params = {})
|
9
|
+
get 'image/v4/get', params: params.merge(image_key: image_key), as: :file
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
data/lib/lark/config.rb
CHANGED
@@ -23,11 +23,17 @@ module Lark
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def http_timeout_options
|
26
|
-
config.http_timeout_options || {write: 2, connect: 5, read: 10}
|
26
|
+
config.http_timeout_options || { write: 2, connect: 5, read: 10 }
|
27
|
+
end
|
28
|
+
|
29
|
+
def api_base_url
|
30
|
+
return @api_base_url if defined?(@api_base_url)
|
31
|
+
|
32
|
+
@api_base_url = config.api_base_url || 'https://open.feishu.cn/open-apis/'.freeze
|
27
33
|
end
|
28
34
|
end
|
29
35
|
|
30
36
|
class Config
|
31
|
-
attr_accessor :default_app_id, :default_app_secret, :default_isv, :redis, :http_timeout_options, :logger
|
37
|
+
attr_accessor :default_app_id, :default_app_secret, :default_isv, :redis, :http_timeout_options, :logger, :api_base_url
|
32
38
|
end
|
33
39
|
end
|
data/lib/lark/request.rb
CHANGED
@@ -7,7 +7,7 @@ module Lark
|
|
7
7
|
def initialize(skip_verify_ssl = true)
|
8
8
|
@http = HTTP.timeout(**Lark.http_timeout_options)
|
9
9
|
@ssl_context = OpenSSL::SSL::SSLContext.new
|
10
|
-
|
10
|
+
#@ssl_context.ssl_version = :TLSv1_2
|
11
11
|
@ssl_context.verify_mode = OpenSSL::SSL::VERIFY_NONE if skip_verify_ssl
|
12
12
|
end
|
13
13
|
|
@@ -45,10 +45,12 @@ module Lark
|
|
45
45
|
private
|
46
46
|
|
47
47
|
def request(path, header = {}, &_block)
|
48
|
-
url = URI.join(
|
49
|
-
|
48
|
+
url = URI.join(Lark.api_base_url, path)
|
49
|
+
request_uuid = SecureRandom.uuid
|
50
|
+
Lark.logger.info "[#{request_uuid}] request url(#{url}) with headers: #{header}"
|
50
51
|
as = header.delete(:as)
|
51
52
|
header['Accept'] = 'application/json'
|
53
|
+
header['X-Request-ID'] = request_uuid
|
52
54
|
response = yield(url, header)
|
53
55
|
unless response.status.success?
|
54
56
|
Lark.logger.error "request #{url} happen error: #{response.body}"
|
@@ -79,7 +81,7 @@ module Lark
|
|
79
81
|
Lark.logger.info "response body: #{body}"
|
80
82
|
data = JSON.parse body.to_s
|
81
83
|
result = Result.new(data)
|
82
|
-
raise ::Lark::AccessTokenExpiredError if [
|
84
|
+
raise ::Lark::AccessTokenExpiredError if [99_991_663, 99_991_664].include?(result.code)
|
83
85
|
|
84
86
|
result
|
85
87
|
end
|
data/lib/lark/version.rb
CHANGED
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: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Dong
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|