jtv 1.0.1 → 2.0.0
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 +2 -38
- data/lib/jtv/channel.rb +4 -11
- data/lib/jtv/client.rb +1 -1
- data/lib/jtv/stream.rb +4 -4
- data/lib/jtv/user.rb +1 -5
- data/lib/jtv/version.rb +1 -1
- data/spec/features/channel_spec.rb +8 -27
- data/spec/features/stream_spec.rb +8 -10
- data/spec/features/user_spec.rb +1 -8
- data/spec/jtv/channel_spec.rb +3 -19
- data/spec/jtv/client_spec.rb +2 -5
- data/spec/jtv/defaults_spec.rb +6 -6
- data/spec/jtv/stream_spec.rb +7 -6
- data/spec/jtv/user_spec.rb +1 -8
- data/spec/jtv_spec.rb +2 -2
- data/spec/vcr_cassettes/Jtv_Channel/_archives/returns_an_array_of_archives_for_given_channel.yml +42 -37
- data/spec/vcr_cassettes/Jtv_Channel/_channel_show/provides_information_for_a_given_channel.yml +40 -42
- data/spec/vcr_cassettes/Jtv_Channel/_fans/fetches_fans_for_a_given_channel.yml +65 -351
- data/spec/vcr_cassettes/Jtv_Stream/_featured/returns_a_list_of_streams.yml +1552 -0
- data/spec/vcr_cassettes/Jtv_Stream/_search/returns_streams_based_on_search_query.yml +66 -334
- data/spec/vcr_cassettes/Jtv_Stream/_summary/returns_a_summary_of_Justin_tv_data.yml +70 -0
- data/spec/vcr_cassettes/Jtv_User/_user_show/fetches_information_on_user.yml +37 -34
- data/spec/vcr_config.rb +0 -4
- metadata +26 -32
- data/spec/vcr_cassettes/Jtv_Channel/_chat_embed/returns_an_iframe_for_chat.yml +0 -46
- data/spec/vcr_cassettes/Jtv_Channel/_embed/returns_a_string_containing_an_embed_object.yml +0 -53
- data/spec/vcr_cassettes/Jtv_Stream/_list/returns_a_list_of_streams_for_a_category.yml +0 -1692
- data/spec/vcr_cassettes/Jtv_Stream/_summary/returns_a_summary_of_Jutstin_tv_data.yml +0 -51
- data/spec/vcr_cassettes/Jtv_User/_favorites/fetches_favorites_from_user.yml +0 -88
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0454f3e0561798a0d6df4d666c1fc46cfe477c3
|
4
|
+
data.tar.gz: e8fad1ba471ef2a2fafe9469c9bbc314af71b6bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7012b5ffe47031f3730932b3b25f6fe11e09268eff3764e7ffc862ac7c72e9b243da2a1e181e75248f6f2ada575bee884f67a406956006d6909eca1766941a8e
|
7
|
+
data.tar.gz: a971c9eecc1a2abd150b70693c9d1aff76433900911192f4ff65c92fead328abe73f3114aadc3b9a304ebb24bd2702c2309c83bd91a7eb3137e604b0bbc1aaae
|
data/README.md
CHANGED
@@ -68,18 +68,16 @@ category).
|
|
68
68
|
|
69
69
|
You can include a channel, language, or category in your search params.
|
70
70
|
|
71
|
-
####
|
71
|
+
#### Featured
|
72
72
|
|
73
73
|
Returns stream information for all live channels. The results are sorted by the
|
74
74
|
current number of viewers, with the most popular channels first.
|
75
75
|
|
76
76
|
```ruby
|
77
|
-
Jtv.
|
77
|
+
Jtv.featured
|
78
78
|
# [{'name' => 'live_user_wingsofdeath'...}]
|
79
79
|
```
|
80
80
|
|
81
|
-
You can include a channel, category, title, language, limit, and offset.
|
82
|
-
|
83
81
|
#### Search
|
84
82
|
|
85
83
|
Returns stream information for the live channels that match a search query. The
|
@@ -107,17 +105,6 @@ Returns extended information for a user, specified by user id or login.
|
|
107
105
|
|
108
106
|
Pass in a user's login.
|
109
107
|
|
110
|
-
#### Favorites
|
111
|
-
|
112
|
-
Get all channels who are favorites of a user.
|
113
|
-
|
114
|
-
```ruby
|
115
|
-
Jtv.favorites 'mockra'
|
116
|
-
# [{}]
|
117
|
-
```
|
118
|
-
|
119
|
-
Pass in a user's login.
|
120
|
-
|
121
108
|
### Channel
|
122
109
|
|
123
110
|
#### Show
|
@@ -160,29 +147,6 @@ channel id or login must be included as a param. Optional limit and offset
|
|
160
147
|
params (defaults are 20 for limit and 0 for offset). Results returned are
|
161
148
|
limited to 100. Results are returned in create date order
|
162
149
|
|
163
|
-
#### Embed
|
164
|
-
|
165
|
-
Get embed code for a channel.
|
166
|
-
|
167
|
-
```ruby
|
168
|
-
Jtv.embed 'justin', volume: 50
|
169
|
-
# "<object></object>"
|
170
|
-
```
|
171
|
-
|
172
|
-
You can supply params volume, publisher_guard (for the default channel password
|
173
|
-
to try), height, width, and watermark_position
|
174
|
-
|
175
|
-
#### Chat Embed
|
176
|
-
|
177
|
-
Get chat embed code for a channel.
|
178
|
-
|
179
|
-
```ruby
|
180
|
-
Jtv.chat_embed 'justin', height: 1000
|
181
|
-
# "<iframe></iframe>"
|
182
|
-
```
|
183
|
-
|
184
|
-
You can supply params height and width.
|
185
|
-
|
186
150
|
## Contributing
|
187
151
|
|
188
152
|
Contributions and feedback are more than welcome and highly encouraged.
|
data/lib/jtv/channel.rb
CHANGED
@@ -1,25 +1,18 @@
|
|
1
1
|
module Jtv
|
2
2
|
module Channel
|
3
3
|
def channel_show id
|
4
|
-
get "
|
4
|
+
get "channels/#{id}.json"
|
5
5
|
end
|
6
6
|
|
7
7
|
def fans params = {}
|
8
|
+
# authenticated
|
8
9
|
id = params[:id] || params[:channel]
|
9
|
-
get "
|
10
|
+
get "channels/#{id}/follows.json", params
|
10
11
|
end
|
11
12
|
|
12
13
|
def archives params = {}
|
13
14
|
id = params[:id] || params[:channel]
|
14
|
-
get "
|
15
|
-
end
|
16
|
-
|
17
|
-
def embed id, params = {}
|
18
|
-
request(:get, "channel/embed/#{id}", params)[:body]
|
19
|
-
end
|
20
|
-
|
21
|
-
def chat_embed id, params = {}
|
22
|
-
request(:get, "channel/chat_embed/#{id}", params)[:body]
|
15
|
+
get "channels/#{id}/videos.json", params
|
23
16
|
end
|
24
17
|
end
|
25
18
|
end
|
data/lib/jtv/client.rb
CHANGED
data/lib/jtv/stream.rb
CHANGED
@@ -3,16 +3,16 @@ require 'uri'
|
|
3
3
|
module Jtv
|
4
4
|
module Stream
|
5
5
|
def summary params = {}
|
6
|
-
get '
|
6
|
+
get 'streams/summary.json', params
|
7
7
|
end
|
8
8
|
|
9
|
-
def
|
10
|
-
get '
|
9
|
+
def featured params = {}
|
10
|
+
get 'streams/featured.json', params
|
11
11
|
end
|
12
12
|
|
13
13
|
def search query, params = {}
|
14
14
|
query = URI.escape query
|
15
|
-
get "
|
15
|
+
get "search/streams.json?q=#{query}", params
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
data/lib/jtv/user.rb
CHANGED
data/lib/jtv/version.rb
CHANGED
@@ -5,44 +5,25 @@ describe Jtv::Channel do
|
|
5
5
|
describe '#fans', :vcr do
|
6
6
|
it 'fetches fans for a given channel' do
|
7
7
|
fans = Jtv.fans id: 'officecam'
|
8
|
-
expect(fans).to be_an Array
|
9
|
-
expect(fans.first).to be_a Hash
|
10
|
-
expect(fans.first['
|
8
|
+
expect(fans['follows']).to be_an Array
|
9
|
+
expect(fans['follows'].first).to be_a Hash
|
10
|
+
expect(fans['follows'].first['user']['_id']).to be_an Integer
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
14
|
describe '#archives', :vcr do
|
15
15
|
it 'returns an array of archives for given channel' do
|
16
|
-
archives = Jtv.archives channel: '
|
17
|
-
expect(archives).to be_an Array
|
18
|
-
expect(archives.count).to eq 2
|
19
|
-
expect(archives.first['
|
16
|
+
archives = Jtv.archives channel: 'test_channel', limit: 2
|
17
|
+
expect(archives['videos']).to be_an Array
|
18
|
+
expect(archives['videos'].count).to eq 2
|
19
|
+
expect(archives['videos'].first['broadcast_type']).to eq 'highlight'
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
23
|
describe '#channel_show', :vcr do
|
24
24
|
it 'provides information for a given channel' do
|
25
25
|
channel = Jtv.channel_show 'apidemo'
|
26
|
-
expect(channel['
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
describe '#embed', :vcr do
|
31
|
-
it 'returns a string containing an embed object' do
|
32
|
-
embed = Jtv.embed 'justin', volume: 50
|
33
|
-
expect(embed).to be_a String
|
34
|
-
expect(embed).to include 'volume=50'
|
35
|
-
expect(embed).to include 'object'
|
36
|
-
expect(embed).to include 'x-shockwave-flash'
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
describe '#chat_embed', :vcr do
|
41
|
-
it 'returns an iframe for chat' do
|
42
|
-
chat = Jtv.chat_embed 'justin', height: 50
|
43
|
-
expect(chat).to be_a String
|
44
|
-
expect(chat).to include '50'
|
45
|
-
expect(chat).to include 'iframe'
|
26
|
+
expect(channel['display_name']).to eq 'Apidemo'
|
46
27
|
end
|
47
28
|
end
|
48
29
|
end
|
@@ -3,25 +3,23 @@ require 'vcr_config'
|
|
3
3
|
|
4
4
|
describe Jtv::Stream do
|
5
5
|
describe '#summary', :vcr do
|
6
|
-
it 'returns a summary of
|
6
|
+
it 'returns a summary of Justin.tv data' do
|
7
7
|
summary = Jtv.summary
|
8
|
-
expect(summary['
|
8
|
+
expect(summary['viewers']).to be > 0
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
|
-
describe '#
|
13
|
-
it 'returns a list of streams
|
14
|
-
list = Jtv.
|
15
|
-
expect(list.count).to eq
|
16
|
-
expect(list.first['category']).to match(/gaming/i)
|
12
|
+
describe '#featured', :vcr do
|
13
|
+
it 'returns a list of streams' do
|
14
|
+
list = Jtv.featured
|
15
|
+
expect(list['featured'].count).to eq 25
|
17
16
|
end
|
18
17
|
end
|
19
18
|
|
20
19
|
describe '#search', :vcr do
|
21
20
|
it 'returns streams based on search query' do
|
22
|
-
search = Jtv.search '
|
23
|
-
expect(search
|
24
|
-
expect(search.first['category']).to eq 'entertainment'
|
21
|
+
search = Jtv.search 'starcraft'
|
22
|
+
expect(search['_total']).to be > 0
|
25
23
|
end
|
26
24
|
end
|
27
25
|
end
|
data/spec/features/user_spec.rb
CHANGED
@@ -5,14 +5,7 @@ describe Jtv::User do
|
|
5
5
|
describe '#user_show', :vcr do
|
6
6
|
it 'fetches information on user' do
|
7
7
|
user = Jtv.user_show 'augury'
|
8
|
-
expect(user['
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
describe '#favorites', :vcr do
|
13
|
-
it 'fetches favorites from user' do
|
14
|
-
user = Jtv.favorites 'augury'
|
15
|
-
expect(user.first['language']).to eq 'en'
|
8
|
+
expect(user['display_name']).to eq 'Augury'
|
16
9
|
end
|
17
10
|
end
|
18
11
|
end
|
data/spec/jtv/channel_spec.rb
CHANGED
@@ -7,14 +7,14 @@ describe Jtv::Channel do
|
|
7
7
|
|
8
8
|
describe '#channel_show' do
|
9
9
|
it 'sends path with user to get' do
|
10
|
-
client.
|
10
|
+
expect(client).to receive(:get).with 'channels/test.json'
|
11
11
|
client.channel_show 'test'
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
describe '#fans' do
|
16
16
|
it 'sends fans and params to get' do
|
17
|
-
client.
|
17
|
+
expect(client).to receive(:get).with 'channels/test/follows.json',
|
18
18
|
{ channel: 'test' }
|
19
19
|
client.fans channel: 'test'
|
20
20
|
end
|
@@ -22,25 +22,9 @@ describe Jtv::Channel do
|
|
22
22
|
|
23
23
|
describe '#archives' do
|
24
24
|
it 'sends archives and params to get' do
|
25
|
-
client.
|
25
|
+
expect(client).to receive(:get).with 'channels/test/videos.json',
|
26
26
|
{ id: 'test' }
|
27
27
|
client.archives id: 'test'
|
28
28
|
end
|
29
29
|
end
|
30
|
-
|
31
|
-
describe '#embed' do
|
32
|
-
it 'sends :get, embed path with login and params to request' do
|
33
|
-
client.should_receive(:request).with(:get, 'channel/embed/test',
|
34
|
-
{ volume: 50 }).and_return({})
|
35
|
-
client.embed 'test', volume: 50
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
describe '#chat_embed' do
|
40
|
-
it 'sends :get, chat_embed path with login and params to request' do
|
41
|
-
client.should_receive(:request).with(:get, 'channel/chat_embed/justin',
|
42
|
-
{ height: 50 }).and_return({})
|
43
|
-
client.chat_embed 'justin', height: 50
|
44
|
-
end
|
45
|
-
end
|
46
30
|
end
|
data/spec/jtv/client_spec.rb
CHANGED
@@ -6,7 +6,7 @@ describe Jtv::Client do
|
|
6
6
|
|
7
7
|
describe '#get' do
|
8
8
|
it 'fetches JSON based on method, path, and params' do
|
9
|
-
client.
|
9
|
+
expect(client).to receive(:get_json).with(:get, '/test/', {})
|
10
10
|
client.get '/test/'
|
11
11
|
end
|
12
12
|
end
|
@@ -20,7 +20,7 @@ describe Jtv::Client do
|
|
20
20
|
context 'when including stream' do
|
21
21
|
it 'has access to summary, list, and search' do
|
22
22
|
expect(client).to respond_to :summary
|
23
|
-
expect(client).to respond_to :
|
23
|
+
expect(client).to respond_to :featured
|
24
24
|
expect(client).to respond_to :search
|
25
25
|
end
|
26
26
|
end
|
@@ -28,7 +28,6 @@ describe Jtv::Client do
|
|
28
28
|
context 'when including user' do
|
29
29
|
it 'has access to show and favorites' do
|
30
30
|
expect(client).to respond_to :user_show
|
31
|
-
expect(client).to respond_to :favorites
|
32
31
|
end
|
33
32
|
end
|
34
33
|
|
@@ -37,8 +36,6 @@ describe Jtv::Client do
|
|
37
36
|
expect(client).to respond_to :channel_show
|
38
37
|
expect(client).to respond_to :fans
|
39
38
|
expect(client).to respond_to :archives
|
40
|
-
expect(client).to respond_to :embed
|
41
|
-
expect(client).to respond_to :chat_embed
|
42
39
|
end
|
43
40
|
end
|
44
41
|
end
|
data/spec/jtv/defaults_spec.rb
CHANGED
@@ -5,20 +5,20 @@ class Client; include Jtv::Defaults; end
|
|
5
5
|
describe Jtv::Defaults do
|
6
6
|
describe '#credentials' do
|
7
7
|
before do
|
8
|
-
Jtv.
|
9
|
-
Jtv.
|
8
|
+
expect(Jtv).to receive(:consumer_key)
|
9
|
+
expect(Jtv).to receive(:consumer_secret)
|
10
10
|
end
|
11
11
|
|
12
12
|
it 'uses Jtv settings by default' do
|
13
|
-
Jtv.
|
14
|
-
Jtv.
|
13
|
+
expect(Jtv).to receive(:oauth_token)
|
14
|
+
expect(Jtv).to receive(:oauth_secret)
|
15
15
|
Client.new.credentials
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'uses set oauth values if available' do
|
19
19
|
client = Client.new
|
20
|
-
client.
|
21
|
-
client.
|
20
|
+
allow(client).to receive(:oauth_token).and_return 'token'
|
21
|
+
allow(client).to receive(:oauth_secret).and_return 'secret'
|
22
22
|
client.credentials
|
23
23
|
end
|
24
24
|
end
|
data/spec/jtv/stream_spec.rb
CHANGED
@@ -7,22 +7,23 @@ describe Jtv::Stream do
|
|
7
7
|
|
8
8
|
describe '#summary' do
|
9
9
|
it 'sends summary and params to get' do
|
10
|
-
client.
|
10
|
+
expect(client).to receive(:get).with 'streams/summary.json',
|
11
11
|
{ channel: 'test' }
|
12
12
|
client.summary channel: 'test'
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
describe '#
|
17
|
-
it 'sends
|
18
|
-
client.
|
19
|
-
|
16
|
+
describe '#featured' do
|
17
|
+
it 'sends featured and params to get' do
|
18
|
+
expect(client).to receive(:get).with 'streams/featured.json',
|
19
|
+
{ channel: 'test' }
|
20
|
+
client.featured channel: 'test'
|
20
21
|
end
|
21
22
|
end
|
22
23
|
|
23
24
|
describe '#search' do
|
24
25
|
it 'sends search and params to get' do
|
25
|
-
client.
|
26
|
+
expect(client).to receive(:get).with 'search/streams.json?q=test%20ruby',
|
26
27
|
{ limit: 50 }
|
27
28
|
client.search 'test ruby', limit: 50
|
28
29
|
end
|
data/spec/jtv/user_spec.rb
CHANGED
@@ -7,15 +7,8 @@ describe Jtv::User do
|
|
7
7
|
|
8
8
|
describe '#user_show' do
|
9
9
|
it 'sends path with user to get' do
|
10
|
-
client.
|
10
|
+
expect(client).to receive(:get).with 'users/test.json'
|
11
11
|
client.user_show 'test'
|
12
12
|
end
|
13
13
|
end
|
14
|
-
|
15
|
-
describe '#favorites' do
|
16
|
-
it 'sends favorites path with user to get' do
|
17
|
-
client.should_receive(:get).with 'user/favorites/test.json'
|
18
|
-
client.favorites 'test'
|
19
|
-
end
|
20
|
-
end
|
21
14
|
end
|
data/spec/jtv_spec.rb
CHANGED
@@ -20,11 +20,11 @@ describe Jtv do
|
|
20
20
|
|
21
21
|
context 'when delegating to client' do
|
22
22
|
before do
|
23
|
-
Jtv.
|
23
|
+
allow(Jtv).to receive(:client).and_return client
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'calls the correct method on client' do
|
27
|
-
client.
|
27
|
+
expect(client).to receive(:get).with '/test'
|
28
28
|
Jtv.get '/test'
|
29
29
|
end
|
30
30
|
|
data/spec/vcr_cassettes/Jtv_Channel/_archives/returns_an_array_of_archives_for_given_channel.yml
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri:
|
5
|
+
uri: https://api.twitch.tv/kraken/channels/test_channel/videos.json?channel=test_channel&limit=2
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -12,8 +12,9 @@ http_interactions:
|
|
12
12
|
User-Agent:
|
13
13
|
- Jtv Gem
|
14
14
|
Authorization:
|
15
|
-
- OAuth
|
16
|
-
|
15
|
+
- OAuth oauth_consumer_key="", oauth_nonce="8021230e12a94d3c88b2a1cb8267140d",
|
16
|
+
oauth_signature="5dKQdylAXEJlV2OgZISmN0fzApk%3D", oauth_signature_method="HMAC-SHA1",
|
17
|
+
oauth_timestamp="1424824758", oauth_token="", oauth_version="1.0"
|
17
18
|
Accept-Encoding:
|
18
19
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
19
20
|
response:
|
@@ -24,44 +25,48 @@ http_interactions:
|
|
24
25
|
Server:
|
25
26
|
- nginx
|
26
27
|
Date:
|
27
|
-
-
|
28
|
+
- Wed, 25 Feb 2015 00:39:19 GMT
|
28
29
|
Content-Type:
|
29
|
-
- application/json
|
30
|
-
|
31
|
-
-
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
Content-Length:
|
32
|
+
- '395'
|
32
33
|
Connection:
|
33
|
-
-
|
34
|
+
- keep-alive
|
35
|
+
Status:
|
36
|
+
- 200 OK
|
37
|
+
X-Api-Version:
|
38
|
+
- '3'
|
39
|
+
X-Frame-Options:
|
40
|
+
- SAMEORIGIN
|
41
|
+
Cache-Control:
|
42
|
+
- max-age=300, public
|
34
43
|
Vary:
|
35
|
-
- Accept-
|
36
|
-
|
37
|
-
-
|
44
|
+
- Accept-Encoding
|
45
|
+
X-Ua-Compatible:
|
46
|
+
- IE=Edge,chrome=1
|
47
|
+
Etag:
|
48
|
+
- '"83df9a8094218f78b5b5710f333b01a9"'
|
49
|
+
X-Request-Id:
|
50
|
+
- d9907a8420f2d723dab29ff13bb1380e
|
51
|
+
X-Runtime:
|
52
|
+
- '0.058918'
|
53
|
+
Accept-Ranges:
|
54
|
+
- bytes
|
55
|
+
X-Varnish:
|
56
|
+
- '2681479047'
|
57
|
+
Age:
|
58
|
+
- '0'
|
59
|
+
Via:
|
60
|
+
- 1.1 varnish
|
61
|
+
X-Mh-Cache:
|
62
|
+
- appcache2; M
|
38
63
|
Front-End-Https:
|
39
|
-
- '
|
64
|
+
- 'on'
|
40
65
|
body:
|
41
66
|
encoding: UTF-8
|
42
|
-
string: '
|
43
|
-
"
|
44
|
-
|
45
|
-
21:45:21 UTC", "stream_name": "live_user_dotahut", "filtered": "unchecked",
|
46
|
-
"video_bitrate": null, "updated_on": "2013-05-12 15:53:11 UTC", "save_forever":
|
47
|
-
"true", "id": 373537869, "file_name": "2013-3-3/live_user_dotahut_1362345627.flv",
|
48
|
-
"broadcaster": "delay", "broadcast_id": 5016397072, "user_id": 38409951, "origin_name":
|
49
|
-
"3842704", "file_size": 286290322, "deleted_by_user": "false", "broadcast_part":
|
50
|
-
"4", "keyframes": null, "length": "1470", "image_url_medium": "http://static-cdn.jtvnw.net/jtv.thumbs/archive-373537869-150x113.jpg",
|
51
|
-
"servers": "35", "start_time": "2013-03-03 21:20:27 UTC", "last_part": "",
|
52
|
-
"video_codec": "AVC", "audio_codec": "aac", "parent_archive_id": null, "description":
|
53
|
-
null, "include_on_channel": "none", "status": null}, {"video_file_url": "http://store21.media21.justin.tv/archives/2013-3-3/live_user_dotahut_1362343814.flv",
|
54
|
-
"kind": null, "tag_list": "", "video_rotation": 0, "title": "DotaHut Invitational:
|
55
|
-
Fnatic vs. Mouz (Grand Finals) casted by Maut", "created_on": "2013-03-03
|
56
|
-
21:20:42 UTC", "stream_name": "live_user_dotahut", "filtered": "unchecked",
|
57
|
-
"video_bitrate": null, "updated_on": "2013-03-03 21:20:44 UTC", "save_forever":
|
58
|
-
"true", "id": 373529497, "file_name": "2013-3-3/live_user_dotahut_1362343814.flv",
|
59
|
-
"broadcaster": "delay", "broadcast_id": 5016397072, "user_id": 38409951, "origin_name":
|
60
|
-
"3842704", "file_size": 253298632, "deleted_by_user": "false", "broadcast_part":
|
61
|
-
"3", "keyframes": null, "length": "1812", "image_url_medium": "http://static-cdn.jtvnw.net/jtv.thumbs/archive-373529497-150x113.jpg",
|
62
|
-
"servers": "22", "start_time": "2013-03-03 20:50:14 UTC", "last_part": "",
|
63
|
-
"video_codec": "AVC", "audio_codec": "aac", "parent_archive_id": null, "description":
|
64
|
-
null, "include_on_channel": "none", "status": null}]'
|
67
|
+
string: '{"_total":9,"_links":{"self":"https://api.twitch.tv/kraken/channels/test_channel/videos?limit=2&offset=0&user=test_channel","next":"https://api.twitch.tv/kraken/channels/test_channel/videos?limit=2&offset=2&user=test_channel"},"videos":[{"title":"robot
|
68
|
+
greeting 2","description":"greeting","broadcast_id":null,"status":"recorded","tag_list":"","_id":"c213462","recorded_at":"2009-12-15T10:03:04Z","game":null,"length":75,"preview":null,"url":"http://www.twitch.tv/test_channel/c/213462","views":2,"broadcast_type":"highlight","_links":{"self":"https://api.twitch.tv/kraken/videos/c213462","channel":"https://api.twitch.tv/kraken/channels/test_channel"},"channel":{"name":"test_channel","display_name":"Test_channel"}},{"title":"echobot2","description":"testing
|
69
|
+
the bot","broadcast_id":null,"status":"recorded","tag_list":"","_id":"c213497","recorded_at":"2009-12-15T07:58:43Z","game":null,"length":43,"preview":null,"url":"http://www.twitch.tv/test_channel/c/213497","views":0,"broadcast_type":"highlight","_links":{"self":"https://api.twitch.tv/kraken/videos/c213497","channel":"https://api.twitch.tv/kraken/channels/test_channel"},"channel":{"name":"test_channel","display_name":"Test_channel"}}]}'
|
65
70
|
http_version:
|
66
|
-
recorded_at:
|
67
|
-
recorded_with: VCR 2.
|
71
|
+
recorded_at: Wed, 25 Feb 2015 00:39:19 GMT
|
72
|
+
recorded_with: VCR 2.9.3
|