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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1669972201f19743b30a27a745c3cd37b08f0f7b6a04cf6900fbcb5a1c78ad99
4
- data.tar.gz: 7cdf5afa1d2ff3e1d4b3e3b168389720396c140b9905522474716d1260d7f1c7
3
+ metadata.gz: b5ea7532ea4b65c72bfd978730313bb79b6b6665c2854cd633da47dbb9cbb883
4
+ data.tar.gz: e75526e57ac6c1b604bd61c0a0086e1c0f8ac58662827b86814fa86120ac0487
5
5
  SHA512:
6
- metadata.gz: 2a63444188f5ab75a417722d37b0b7bd7e2e43556b157fbfdd6e7e0a455f8b39037f45fb6adf1cabdfe4c097fd6c4ac9e4b90ba0035d580b46c6c0234c938e3a
7
- data.tar.gz: 132c104462bf195f1c4eb34d1bfa7cb0fe85a846a59468b723233ee2de28fe7eb4cf595061d64920898c68d6e99d58de3653d85e52ec48ae9f5729ff62572624
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
@@ -38,6 +38,5 @@ Gem::Specification.new do |spec|
38
38
  spec.add_development_dependency "bundler", "~> 1.17"
39
39
  spec.add_development_dependency "rake", "~> 12.3.3"
40
40
  spec.add_development_dependency "rspec", "~> 3.0"
41
- spec.add_development_dependency "typhoeus"
42
41
 
43
42
  end
@@ -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
- "https://open.douyin.com"+url
29
+ END_POINT + url
10
30
  end
11
31
 
32
+
12
33
  end
13
34
 
14
35
  end
@@ -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
- res = Typhoeus.post(DouyinSdk.endpoint_url(ACCESS_TOKEN + "?client_key=#{client_key}&client_secret=#{client_secret}&code=#{code}&grant_type=authorization_code"))
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
- res = Typhoeus.get(DouyinSdk.endpoint_url(REFRESH_TOKEN + "?refresh_token=#{refresh_token}&client_key=#{client_key}&grant_type=refresh_token"))
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
@@ -6,14 +6,12 @@ module DouyinSdk
6
6
 
7
7
  #获取用户信息
8
8
  def user_info(access_token, open_id)
9
- res = Typhoeus.post(DouyinSdk.endpoint_url(USER_INFO + "?access_token=#{access_token}&open_id=#{open_id}"))
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
- res = Typhoeus.post(DouyinSdk.endpoint_url(FAN_LIST + "?access_token=#{access_token}&open_id=#{open_id}&count=#{count}&cursor=#{cursor}"))
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
@@ -1,3 +1,3 @@
1
1
  module DouyinSdk
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.6"
3
3
  end
@@ -6,14 +6,12 @@ module DouyinSdk
6
6
 
7
7
  #获取用户视频列表
8
8
  def video_list(access_token, open_id, count = 10, cursor = 0)
9
- res = Typhoeus.get(DouyinSdk.endpoint_url(VIDEO_LIST + "?access_token=#{access_token}&open_id=#{open_id}&count=#{count}&cursor=#{cursor}"))
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
- res = Typhoeus.post(DouyinSdk.endpoint_url(VIDEO_DATA + "?access_token=#{access_token}&open_id=#{open_id}"), headers: {'Content-Type': 'application/json'}, body: {item_ids: [item_id] }.to_json)
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
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-20 00:00:00.000000000 Z
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