douyin_sdk 0.1.4 → 0.1.6
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 +7 -0
- data/douyin_sdk.gemspec +0 -1
- data/lib/douyin_sdk.rb +23 -2
- data/lib/douyin_sdk/oauth.rb +10 -4
- data/lib/douyin_sdk/user.rb +2 -4
- data/lib/douyin_sdk/version.rb +1 -1
- data/lib/douyin_sdk/video.rb +2 -4
- metadata +2 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5ea7532ea4b65c72bfd978730313bb79b6b6665c2854cd633da47dbb9cbb883
|
4
|
+
data.tar.gz: e75526e57ac6c1b604bd61c0a0086e1c0f8ac58662827b86814fa86120ac0487
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4d3ba95cb576d3348abf025208d4fbcac5d163c84cce96a29ab9e6b3c01b53d71a32f49014c2dd623cc5aa7f670dcc02b45ebb8eae4f1418d89ea5000b4d615
|
7
|
+
data.tar.gz: accdd0a056108224f23903a0ab927345350b8a09934890792396d4a2e8499610f812860035ca1a6e6e64380b352fc7a8517be065d1a1e401f123762e2f7e1153
|
data/README.md
CHANGED
@@ -44,6 +44,13 @@ $client.access_token(code)
|
|
44
44
|
$client.refresh_token(refresh_token)
|
45
45
|
```
|
46
46
|
|
47
|
+
* 刷新refresh_token
|
48
|
+
|
49
|
+
通过旧的refresh_token获取新的refresh_token,调用后旧refresh_token会失效,新refresh_token有30天有效期。最多只能获取5次新的refresh_token,5次过后需要用户重新授权。
|
50
|
+
```ruby
|
51
|
+
$client.renew_refresh_token(client_key, refresh_token)
|
52
|
+
```
|
53
|
+
|
47
54
|
* 获取用户公开信息
|
48
55
|
|
49
56
|
```ruby
|
data/douyin_sdk.gemspec
CHANGED
data/lib/douyin_sdk.rb
CHANGED
@@ -1,14 +1,35 @@
|
|
1
1
|
require "douyin_sdk/version"
|
2
2
|
require "douyin_sdk/client"
|
3
|
-
|
3
|
+
require 'net/http'
|
4
|
+
require 'uri'
|
5
|
+
require 'json'
|
4
6
|
module DouyinSdk
|
5
7
|
|
6
8
|
class << self
|
9
|
+
END_POINT = "https://open.douyin.com"
|
10
|
+
|
11
|
+
def http_post(url, params)
|
12
|
+
res = Net::HTTP.post(
|
13
|
+
endpoint_uri(url),
|
14
|
+
params,
|
15
|
+
{'Content-Type': 'application/json'}
|
16
|
+
)
|
17
|
+
JSON.parse(res.body)
|
18
|
+
end
|
19
|
+
|
20
|
+
def http_get(url)
|
21
|
+
JSON.parse(Net::HTTP.get(endpoint_uri(url)))
|
22
|
+
end
|
23
|
+
|
24
|
+
def endpoint_uri(url)
|
25
|
+
URI.parse(endpoint_url(url))
|
26
|
+
end
|
7
27
|
|
8
28
|
def endpoint_url(url)
|
9
|
-
|
29
|
+
END_POINT + url
|
10
30
|
end
|
11
31
|
|
32
|
+
|
12
33
|
end
|
13
34
|
|
14
35
|
end
|
data/lib/douyin_sdk/oauth.rb
CHANGED
@@ -4,6 +4,7 @@ module DouyinSdk
|
|
4
4
|
OAUTH_CONNECT = '/platform/oauth/connect/'
|
5
5
|
ACCESS_TOKEN = '/oauth/access_token/'
|
6
6
|
REFRESH_TOKEN = '/oauth/refresh_token/'
|
7
|
+
RENEW_REFRESH_TOKEN = '/oauth/renew_refresh_token/'
|
7
8
|
|
8
9
|
#获取授权连接
|
9
10
|
def auth_code_url(redirect_uri, scope="user_info")
|
@@ -12,15 +13,20 @@ module DouyinSdk
|
|
12
13
|
|
13
14
|
#获取access_token
|
14
15
|
def access_token(code)
|
15
|
-
|
16
|
-
JSON.parse(res.body)
|
16
|
+
DouyinSdk.http_get(ACCESS_TOKEN + "?client_key=#{client_key}&client_secret=#{client_secret}&code=#{code}&grant_type=authorization_code")
|
17
17
|
end
|
18
18
|
|
19
19
|
#刷新access_token
|
20
20
|
def refresh_token(refresh_token)
|
21
|
-
|
22
|
-
JSON.parse(res.body)
|
21
|
+
DouyinSdk.http_get(REFRESH_TOKEN + "?refresh_token=#{refresh_token}&client_key=#{client_key}&grant_type=refresh_token")
|
23
22
|
end
|
24
23
|
|
24
|
+
#刷新refresh_token
|
25
|
+
def renew_refresh_token(refresh_token)
|
26
|
+
DouyinSdk.http_get(RENEW_REFRESH_TOKEN + "?client_key=#{client_key}&refresh_token=#{refresh_token}")
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
|
25
31
|
end
|
26
32
|
end
|
data/lib/douyin_sdk/user.rb
CHANGED
@@ -6,14 +6,12 @@ module DouyinSdk
|
|
6
6
|
|
7
7
|
#获取用户信息
|
8
8
|
def user_info(access_token, open_id)
|
9
|
-
|
10
|
-
JSON.parse(res.body)
|
9
|
+
DouyinSdk.http_get(USER_INFO + "?access_token=#{access_token}&open_id=#{open_id}")
|
11
10
|
end
|
12
11
|
|
13
12
|
#获取粉丝列表
|
14
13
|
def fan_list(access_token, open_id, count = 10, cursor = 0)
|
15
|
-
|
16
|
-
JSON.parse(res.body)
|
14
|
+
DouyinSdk.http_get(FAN_LIST + "?access_token=#{access_token}&open_id=#{open_id}&count=#{count}&cursor=#{cursor}")
|
17
15
|
end
|
18
16
|
|
19
17
|
end
|
data/lib/douyin_sdk/version.rb
CHANGED
data/lib/douyin_sdk/video.rb
CHANGED
@@ -6,14 +6,12 @@ module DouyinSdk
|
|
6
6
|
|
7
7
|
#获取用户视频列表
|
8
8
|
def video_list(access_token, open_id, count = 10, cursor = 0)
|
9
|
-
|
10
|
-
JSON.parse(res.body)
|
9
|
+
DouyinSdk.http_get(VIDEO_LIST + "?access_token=#{access_token}&open_id=#{open_id}&count=#{count}&cursor=#{cursor}")
|
11
10
|
end
|
12
11
|
|
13
12
|
#查询指定视频数据
|
14
13
|
def video_data(access_token, open_id, item_id)
|
15
|
-
|
16
|
-
JSON.parse(res.body)
|
14
|
+
DouyinSdk.http_post(VIDEO_DATA + "?access_token=#{access_token}&open_id=#{open_id}", {item_ids: [item_id] }.to_json)
|
17
15
|
end
|
18
16
|
|
19
17
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: douyin_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dhuSaverin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-07-
|
11
|
+
date: 2020-07-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: typhoeus
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
55
|
description: Douyin SDK for Ruby
|
70
56
|
email:
|
71
57
|
- sjtdhu@163.com
|