vimeo 1.0.0 → 1.1.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.
- data/.gitignore +2 -1
- data/README.markdown +312 -0
- data/Rakefile +1 -1
- data/VERSION.yml +2 -1
- data/init.rb +2 -0
- data/lib/vimeo.rb +1 -0
- data/lib/vimeo/advanced.rb +0 -1
- data/lib/vimeo/advanced/album.rb +8 -10
- data/lib/vimeo/advanced/base.rb +56 -46
- data/lib/vimeo/advanced/channel.rb +6 -9
- data/lib/vimeo/advanced/contact.rb +2 -3
- data/lib/vimeo/advanced/group.rb +5 -11
- data/lib/vimeo/advanced/person.rb +5 -6
- data/lib/vimeo/advanced/test.rb +7 -24
- data/lib/vimeo/advanced/upload.rb +4 -9
- data/lib/vimeo/advanced/video.rb +14 -15
- data/lib/vimeo/advanced/video_embed.rb +1 -2
- data/test/fixtures/advanced/auth/check_access_token.json +9 -0
- data/test/fixtures/advanced/auth/request_token.txt +1 -0
- data/test/fixtures/advanced/channel/get_all.json +17 -55
- data/test/fixtures/advanced/group/get_all.json +5 -29
- data/test/fixtures/advanced/group/get_info.json +1 -2
- data/test/fixtures/advanced/group_events/get_month.json +3 -8
- data/test/fixtures/advanced/group_events/get_past.json +3 -8
- data/test/fixtures/advanced/group_events/get_upcoming.json +3 -8
- data/test/fixtures/advanced/group_forums/get_topic_comments.json +1 -3
- data/test/fixtures/advanced/person/get_info.json +1 -2
- data/test/fixtures/advanced/video/get_by_tag.json +1 -3
- data/test/fixtures/advanced/video/get_subscriptions.json +3 -7
- data/test/fixtures/advanced/video/search.json +1 -2
- data/test/test_helper.rb +17 -6
- data/test/vimeo/advanced/album_test.rb +54 -67
- data/test/vimeo/advanced/auth_test.rb +17 -25
- data/test/vimeo/advanced/base_test.rb +7 -9
- data/test/vimeo/advanced/channels_test.rb +5 -5
- data/test/vimeo/advanced/contacts_test.rb +1 -1
- data/test/vimeo/advanced/group_events_test.rb +1 -1
- data/test/vimeo/advanced/group_forums_test.rb +1 -1
- data/test/vimeo/advanced/groups_test.rb +4 -4
- data/test/vimeo/advanced/person_test.rb +9 -8
- data/test/vimeo/advanced/test_test.rb +3 -3
- data/test/vimeo/advanced/upload_test.rb +6 -6
- data/test/vimeo/advanced/videos_embed_test.rb +6 -5
- data/test/vimeo/advanced/videos_test.rb +15 -15
- data/vimeo.gemspec +13 -11
- metadata +10 -9
- data/README.rdoc +0 -322
- data/lib/vimeo/advanced/auth.rb +0 -22
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vimeo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Hooks
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-12-20 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -53,24 +53,24 @@ dependencies:
|
|
53
53
|
version: 0.4.5
|
54
54
|
version:
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: json
|
57
57
|
type: :runtime
|
58
58
|
version_requirement:
|
59
59
|
version_requirements: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
61
|
- - ">="
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version:
|
63
|
+
version: 1.1.9
|
64
64
|
version:
|
65
65
|
- !ruby/object:Gem::Dependency
|
66
|
-
name:
|
66
|
+
name: oauth
|
67
67
|
type: :runtime
|
68
68
|
version_requirement:
|
69
69
|
version_requirements: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
71
|
- - ">="
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version:
|
73
|
+
version: 0.3.6
|
74
74
|
version:
|
75
75
|
description: A full featured Ruby implementation of the Vimeo API.
|
76
76
|
email: matthooks@gmail.com
|
@@ -81,18 +81,17 @@ extensions: []
|
|
81
81
|
extra_rdoc_files:
|
82
82
|
- CHANGELOG.rdoc
|
83
83
|
- LICENSE
|
84
|
-
- README.rdoc
|
85
84
|
files:
|
86
85
|
- .gitignore
|
87
86
|
- CHANGELOG.rdoc
|
88
87
|
- LICENSE
|
89
|
-
- README.
|
88
|
+
- README.markdown
|
90
89
|
- Rakefile
|
91
90
|
- VERSION.yml
|
91
|
+
- init.rb
|
92
92
|
- lib/vimeo.rb
|
93
93
|
- lib/vimeo/advanced.rb
|
94
94
|
- lib/vimeo/advanced/album.rb
|
95
|
-
- lib/vimeo/advanced/auth.rb
|
96
95
|
- lib/vimeo/advanced/base.rb
|
97
96
|
- lib/vimeo/advanced/channel.rb
|
98
97
|
- lib/vimeo/advanced/contact.rb
|
@@ -121,9 +120,11 @@ files:
|
|
121
120
|
- test/fixtures/advanced/album/set_description.json
|
122
121
|
- test/fixtures/advanced/album/set_password.json
|
123
122
|
- test/fixtures/advanced/album/set_title.json
|
123
|
+
- test/fixtures/advanced/auth/check_access_token.json
|
124
124
|
- test/fixtures/advanced/auth/check_token.json
|
125
125
|
- test/fixtures/advanced/auth/get_frob.json
|
126
126
|
- test/fixtures/advanced/auth/get_token.json
|
127
|
+
- test/fixtures/advanced/auth/request_token.txt
|
127
128
|
- test/fixtures/advanced/channel/add_video.json
|
128
129
|
- test/fixtures/advanced/channel/get_all.json
|
129
130
|
- test/fixtures/advanced/channel/get_info.json
|
data/README.rdoc
DELETED
@@ -1,322 +0,0 @@
|
|
1
|
-
= Vimeo API Gem
|
2
|
-
|
3
|
-
This gem implements a full-featured Ruby interface for the Vimeo API v2.
|
4
|
-
|
5
|
-
For a more in depth look at the API check out {Vimeo's Simple API Documentation}[http://www.vimeo.com/api/docs/simple-api] or {Vimeo's Advanced API Documentation}[http://www.vimeo.com/api/docs/advanced-api]. I would also recommend checking out the {API Forums}[http://www.vimeo.com/forum:api] if
|
6
|
-
things aren't working as they should -- in my experience the Vimeo API has a number of bugs and oddities.
|
7
|
-
|
8
|
-
== Install
|
9
|
-
|
10
|
-
If you haven't already, add github's gem server to your sources:
|
11
|
-
|
12
|
-
gem sources -a http://gems.github.com
|
13
|
-
|
14
|
-
Then, it's as easy as:
|
15
|
-
|
16
|
-
sudo gem install matthooks-vimeo
|
17
|
-
|
18
|
-
Add the gem plugin to your Rails project by adding the following to your @environment.rb@ file:
|
19
|
-
|
20
|
-
config.gem "matthooks-vimeo", :lib => "vimeo"
|
21
|
-
|
22
|
-
== Use
|
23
|
-
|
24
|
-
There are two modules:
|
25
|
-
|
26
|
-
Vimeo::Simple
|
27
|
-
Vimeo::Advanced
|
28
|
-
|
29
|
-
== Simple API
|
30
|
-
|
31
|
-
The wrapper for the {Simple API}[http://www.vimeo.com/api/docs/simple-api] consists of several classes. To use the Simple API, just call one of the class methods. For example:
|
32
|
-
|
33
|
-
user_info = Vimeo::Simple::User.info("matthooks")
|
34
|
-
# =>
|
35
|
-
# {
|
36
|
-
# "id":"888046",
|
37
|
-
# "display_name":"Matt Hooks",
|
38
|
-
# "created_on":"2008-10-30 14:17:32",
|
39
|
-
# "is_staff":"0",
|
40
|
-
# "is_plus":"0",
|
41
|
-
# "location":"Chicago, IL",
|
42
|
-
# "url":"http:\/\/blackholeinthemidwest.com\/",
|
43
|
-
# "bio":"",
|
44
|
-
# "profile_url":"http:\/\/vimeo.com\/matthooks",
|
45
|
-
# "videos_url":"http:\/\/vimeo.com\/matthooks\/videos",
|
46
|
-
# "total_videos_uploaded":2,
|
47
|
-
# "total_videos_appears_in":0,
|
48
|
-
# "total_videos_liked":2,
|
49
|
-
# "total_contacts":3,
|
50
|
-
# "total_albums":0,
|
51
|
-
# "total_channels":1,
|
52
|
-
# "portrait_small":"http:\/\/images.vimeo.com\/11\/42\/16\/114216178\/114216178_30.jpg",
|
53
|
-
# "portrait_medium":"http:\/\/images.vimeo.com\/11\/42\/16\/114216178\/114216178_75.jpg",
|
54
|
-
# "portrait_large":"http:\/\/images.vimeo.com\/11\/42\/16\/114216178\/114216178_100.jpg",
|
55
|
-
# "portrait_huge":"http:\/\/images.vimeo.com\/11\/42\/16\/114216178\/114216178_300.jpg"
|
56
|
-
# }
|
57
|
-
|
58
|
-
# That's right! The data returned will be parsed and ready to use.
|
59
|
-
|
60
|
-
user_info["location"]
|
61
|
-
# => "Chicago, IL"
|
62
|
-
|
63
|
-
=== Vimeo::Simple::Activity
|
64
|
-
|
65
|
-
Vimeo::Simple::Activity.user_did("username")
|
66
|
-
Vimeo::Simple::Activity.happened_to_user("username")
|
67
|
-
Vimeo::Simple::Activity.contacts_did("username")
|
68
|
-
Vimeo::Simple::Activity.happened_to_contacts("username")
|
69
|
-
Vimeo::Simple::Activity.everyone_did("username")
|
70
|
-
|
71
|
-
=== Vimeo::Simple::Album
|
72
|
-
|
73
|
-
Vimeo::Simple::Album.videos("album_id")
|
74
|
-
Vimeo::Simple::Album.info("album_id")
|
75
|
-
|
76
|
-
=== Vimeo::Simple::Channel
|
77
|
-
|
78
|
-
Vimeo::Simple::Channel.videos(channelname)
|
79
|
-
Vimeo::Simple::Channel.info(channelname)
|
80
|
-
|
81
|
-
=== Vimeo::Simple::Group
|
82
|
-
|
83
|
-
Vimeo::Simple::Group.videos(groupname)
|
84
|
-
Vimeo::Simple::Group.users(groupname)
|
85
|
-
Vimeo::Simple::Group.info(groupname)
|
86
|
-
|
87
|
-
=== Vimeo::Simple::User
|
88
|
-
|
89
|
-
Vimeo::Simple::User.info(username)
|
90
|
-
Vimeo::Simple::User.videos(username)
|
91
|
-
Vimeo::Simple::User.likes(username)
|
92
|
-
Vimeo::Simple::User.appears_in(username)
|
93
|
-
Vimeo::Simple::User.all_videos(username)
|
94
|
-
Vimeo::Simple::User.subscriptions(username)
|
95
|
-
Vimeo::Simple::User.albums(username)
|
96
|
-
Vimeo::Simple::User.channels(username)
|
97
|
-
Vimeo::Simple::User.groups(username)
|
98
|
-
Vimeo::Simple::User.contacts_videos(username)
|
99
|
-
Vimeo::Simple::User.contacts_like(username)
|
100
|
-
|
101
|
-
=== Vimeo::Simple::Video
|
102
|
-
|
103
|
-
Vimeo::Simple::Video.info(video_id)
|
104
|
-
|
105
|
-
== Advanced API
|
106
|
-
|
107
|
-
The classes in Vimeo::Advanced must be instantiated with an your application's api key and secret. For example:
|
108
|
-
|
109
|
-
vimeo_video = Vimeo::Advanced::Video.new("api_key", "secret")
|
110
|
-
|
111
|
-
Then you can make method calls on the instance. For example:
|
112
|
-
|
113
|
-
vimeo_video.get_list("matthooks", :page => 2, :per_page => 50)
|
114
|
-
|
115
|
-
Some methods have optional variables. You should pass as a hash at the end of a call.
|
116
|
-
|
117
|
-
Some methods require authentication. Check out the guides for {Web Based authentication}[http://www.vimeo.com/api/docs/web-auth] and {Desktop Based authentication}[http://www.vimeo.com/api/docs/desktop-auth].
|
118
|
-
|
119
|
-
The wrapper for the Advanced API consists of the following classes and methods:
|
120
|
-
|
121
|
-
=== Vimeo::Advanced::Album
|
122
|
-
|
123
|
-
album = Vimeo::Advanced::Album.new("api_key", "secret")
|
124
|
-
|
125
|
-
album.add_video("auth_token", "album_id", "video_id")
|
126
|
-
album.create("auth_token", "title", "video_id", { :description => "description", "videos" => "123,124,125" })
|
127
|
-
album.delete("auth_token", "album_id")
|
128
|
-
album.get_all("user_id", { :page => "1", :per_page => "25" })
|
129
|
-
album.get_videos("auth_token", "user_id", { :page => "1", :per_page => "25", :full_response => "0", :password => nil })
|
130
|
-
album.get_videos("auth_token", "album_id", "video_id")
|
131
|
-
album.set_description("auth_token", "album_id", "description")
|
132
|
-
album.get_password("auth_token", "album_id", "password")
|
133
|
-
album.get_title("auth_token", "album_id", "title")
|
134
|
-
|
135
|
-
=== Vimeo::Advanced::Auth
|
136
|
-
|
137
|
-
auth = Vimeo::Advanced::Auth.new("api_key", "secret")
|
138
|
-
|
139
|
-
auth.get_token("frob")
|
140
|
-
auth.get_frob
|
141
|
-
auth.check_token("auth_token")
|
142
|
-
|
143
|
-
=== Vimeo::Advanced::Base
|
144
|
-
|
145
|
-
base = Vimeo::Advanced::Base.new("api_key", "secret")
|
146
|
-
|
147
|
-
base.web_login_link("permissions")
|
148
|
-
base.desktop_login_link("permissions")
|
149
|
-
|
150
|
-
=== Vimeo::Advanced::Channel
|
151
|
-
|
152
|
-
channel = Vimeo::Advanced::Channel.new("api_key", "secret")
|
153
|
-
|
154
|
-
channel.add_video("auth_token", "channel_id", "video_id")
|
155
|
-
channel.get_all({ :page => "1", :per_page => "25", :sort => "newest"})
|
156
|
-
channel.get_info(channel_id, { :page => "1", :per_page => "25" })
|
157
|
-
channel.get_moderators(channel_id, { :page => "1", :per_page => "25" })
|
158
|
-
channel.get_subscribers(channel_id, { :page => "1", :per_page => "25" })
|
159
|
-
channel.get_videos(channel_id, { :page => "1", :per_page => "25", :full_response => "0" })
|
160
|
-
channel.remove_video("auth_token", "channel_id", "video_id")
|
161
|
-
channel.subscribe("auth_token", "channel_id")
|
162
|
-
channel.unsubscribe("auth_token", "channel_id")
|
163
|
-
|
164
|
-
=== Vimeo::Advanced::Contact
|
165
|
-
|
166
|
-
contact = Vimeo::Advanced::Contact.new("api_key", "secret")
|
167
|
-
|
168
|
-
contact.get_all(user_id, { :page => "1", :per_page => "25", :sort => "newest" })
|
169
|
-
contact.get_mutual(user_id, { :page => "1", :per_page => "25", :sort => "newest" })
|
170
|
-
contact.get_online({ :page => "1", :per_page => "25", :sort => "newest" })
|
171
|
-
contact.get_who_added(user_id, { :page => "1", :per_page => "25", :sort => "newest" })
|
172
|
-
|
173
|
-
=== Vimeo::Advanced::Group
|
174
|
-
|
175
|
-
group = Vimeo::Advanced::Group.new("api_key", "secret")
|
176
|
-
|
177
|
-
group.add_video("auth_token", "group_id", "video_id")
|
178
|
-
group.get_all({ :page => "1", :per_page => "25", :sort => "newest" })
|
179
|
-
group.get_files("group_id", { :page => "1", :per_page => "25" })
|
180
|
-
group.get_info("group_id", { :page => "1", :per_page => "25" })
|
181
|
-
group.get_members("group_id", { :page => "1", :per_page => "25", :sort => "newest" })
|
182
|
-
group.get_moderators("group_id", { :page => "1", :per_page => "25" })
|
183
|
-
group.get_video_comments("group_id", "video_id", { :page => "1", :per_page => "25" })
|
184
|
-
group.get_videos("group_id", { :page => "1", :per_page => "25", :full_response => "0", :sort => "newest" })
|
185
|
-
group.join("auth_token", "group_id")
|
186
|
-
group.leave("auth_token", "group_id")
|
187
|
-
|
188
|
-
=== Vimeo::Advanced::GroupEvents
|
189
|
-
|
190
|
-
group_events = Vimeo::Advanced::GroupEvents.new("api_key", "secret")
|
191
|
-
|
192
|
-
group_events.get_month("group_id", { :page => "1", :per_page => "25", :month => nil, :year => nil })
|
193
|
-
group_events.get_past("group_id", { :page => "1", :per_page => "25" })
|
194
|
-
group_events.get_year("group_id", { :page => "1", :per_page => "25" })
|
195
|
-
|
196
|
-
=== Vimeo::Advanced::GroupForums
|
197
|
-
|
198
|
-
group_forums = Vimeo::Advanced::GroupForums.new("api_key", "secret")
|
199
|
-
|
200
|
-
group_forums.get_topic_comments("group_id", "topic_id", { :page => "1", :per_page => "25" })
|
201
|
-
group_forums.get_topics("group_id", { :page => "1", :per_page => "25" })
|
202
|
-
|
203
|
-
=== Vimeo::Advanced::Person
|
204
|
-
|
205
|
-
person = Vimeo::Advanced::Person.new("api_key", "secret")
|
206
|
-
|
207
|
-
person.add_contact("auth_token", "user_id")
|
208
|
-
# Types is a comma-delimited string. Valid options: "likes", "appears", "uploads"
|
209
|
-
person.add_subscription("auth_token", "user_id", "types")
|
210
|
-
person.find_by_email("user_id")
|
211
|
-
person.get_hd_embeds("auth_token")
|
212
|
-
person.get_info("user_id")
|
213
|
-
person.get_portrait_urls("user_id")
|
214
|
-
person.remove_contact("auth_token", "user_id")
|
215
|
-
# Types is a comma-delimited string. Valid options: "likes", "appears", "uploads"
|
216
|
-
person.remove_subscription("auth_token", "user_id", "types")
|
217
|
-
|
218
|
-
=== Vimeo::Advanced::Test
|
219
|
-
|
220
|
-
test = Vimeo::Advanced::Test.new("api_key", "secret")
|
221
|
-
|
222
|
-
test.echo(options={})
|
223
|
-
test.null(auth_token)
|
224
|
-
test.login(auth_token)
|
225
|
-
|
226
|
-
=== Vimeo::Advanced::Upload
|
227
|
-
|
228
|
-
upload = Vimeo::Advanced::Upload.new("api_key", "secret")
|
229
|
-
|
230
|
-
upload.confirm("auth_token", "ticket_id", "json_manifest")
|
231
|
-
upload.get_quota("auth_token")
|
232
|
-
upload.get_ticket("auth_token")
|
233
|
-
upload.upload("auth_token", "path_to_file", "ticket_id", "end_point")
|
234
|
-
upload.verify_manifest("auth_token", "ticket_id", "json_manifest")
|
235
|
-
|
236
|
-
=== Vimeo::Advanced::Video
|
237
|
-
|
238
|
-
video = Vimeo::Advanced::Video.new("api_key", "secret")
|
239
|
-
|
240
|
-
video.add_cast("auth_token", "video_id", "user_id", { :role => nil })
|
241
|
-
video.add_photos("auth_token", "video_id", "photo_urls")
|
242
|
-
video.add_tags("auth_token", "video_id", "tags")
|
243
|
-
video.clear_tags("auth_token", "video_id")
|
244
|
-
video.delete("auth_token", "video_id")
|
245
|
-
video.get_all("user_id", { :page => "1", :per_page => "25", :full_response => "0", :sort => "newest" })
|
246
|
-
video.get_appears_in("user_id", { :page => "1", :per_page => "25", :full_response => "0", :sort => "newest" })
|
247
|
-
video.get_by_tag("tag", { :page => "1", :per_page => "25", :full_response => "0", :sort => "newest" })
|
248
|
-
video.get_cast("video_id", { :page => "1", :per_page => "25" })
|
249
|
-
video.get_contacts_liked("user_id", { :page => "1", :per_page => "25", :full_response => "0", :sort => "newest" })
|
250
|
-
video.get_contacts_uploaded("user_id", { :page => "1", :per_page => "25", :full_response => "0", :sort => "newest" })
|
251
|
-
video.get_info("video_id")
|
252
|
-
video.get_likes("user_id", { :page => "1", :per_page => "25", :full_response => "0", :sort => "newest" })
|
253
|
-
video.get_subscriptions("user_id", { :page => "1", :per_page => "25", :full_response => "0", :sort => "newest" })
|
254
|
-
video.get_thumbnail_urls("video_id")
|
255
|
-
video.get_uploaded("user_id", { :page => "1", :per_page => "25", :full_response => "0", :sort => "newest" })
|
256
|
-
video.remove_cast("auth_token", "video_id", "user_id")
|
257
|
-
video.remove_tag("auth_token", "video_id", "tag_id")
|
258
|
-
video.search("query", { :page => "1", :per_page => "25", :full_response => "0", :sort => "newest", :user_id => nil })
|
259
|
-
video.set_description("auth_token", "video_id", "description")
|
260
|
-
video.set_like("auth_token", "video_id", "like")
|
261
|
-
video.set_privacy("auth_token", "video_id", "privacy", { :users => nil, :password => nil })
|
262
|
-
video.set_title("auth_token", "video_id", "title")
|
263
|
-
|
264
|
-
# comments
|
265
|
-
video.add_comment("auth_token", "video_id", "comment_text", { :reply_to_comment_id => nil })
|
266
|
-
video.delete_comment("auth_token", "video_id", "comment_id")
|
267
|
-
video.edit_comment("auth_token", "video_id", "comment_id", "comment_text")
|
268
|
-
video.get_comments_list("video_id", { :page => "1", :per_page => "25" })
|
269
|
-
|
270
|
-
=== Vimeo::Advanced::VideoEmbed
|
271
|
-
|
272
|
-
video_embed = Vimeo::Advanced::VideoEmbed.new("api_key", "secret")
|
273
|
-
|
274
|
-
video_embed.get_presets("auth_token", { :page => "1", :per_page => "25" })
|
275
|
-
video_embed.set_preset("auth_token", "video_id", "preset_id")
|
276
|
-
|
277
|
-
|
278
|
-
== Uploads
|
279
|
-
|
280
|
-
Uploads are a little bit tricky, so I figured I'd help you guys with a short tutorial.
|
281
|
-
|
282
|
-
# Start by creating an instance of the Upload class.
|
283
|
-
upload = Vimeo::Advanced::Upload.new("api_key", "secret")
|
284
|
-
# I'm going to assume you've got that user's auth token stored somewhere and that they have upload access.
|
285
|
-
auth_token = "..."
|
286
|
-
|
287
|
-
# Let's check the user's quota.
|
288
|
-
# You should let the user know if they don't have enough quota free and/or if their video can be uploaded in HD
|
289
|
-
quota = upload.get_quota(auth_token)
|
290
|
-
free_space = quota["user"]["upload_space"]["free"]
|
291
|
-
hd = quota["user"]["hq_quota"]
|
292
|
-
|
293
|
-
# Now let's get an upload ticket.
|
294
|
-
ticket = upload.get_ticket(auth_token)
|
295
|
-
ticket_id = get_ticket["ticket"]["id"]
|
296
|
-
endpoint = get_ticket["ticket"]["endpoint"]
|
297
|
-
|
298
|
-
# Cool! Let's post the video.
|
299
|
-
# The file path should be absolute.
|
300
|
-
file_path = "..."
|
301
|
-
json_manifest = upload.upload(auth_token, file_path, ticket_id, endpoint)
|
302
|
-
|
303
|
-
# After the upload completes...
|
304
|
-
upload.confirm(auth_token, ticket_id, json_manifest)
|
305
|
-
|
306
|
-
There are a few steps along the way where things can go wrong.
|
307
|
-
|
308
|
-
== Todo
|
309
|
-
|
310
|
-
* Better structure. There's too many classes. Is there a way to simplify the Advanced API?
|
311
|
-
* Advanced classes should be able to take the authentication token as a parameter so you don't have to pass it to the methods that require authentication.
|
312
|
-
* Error handling.
|
313
|
-
* Some methods are not implemented by Vimeo or don't seem to work.
|
314
|
-
* More re-factoring.
|
315
|
-
* Make tests more robust and faster. If anyone has any ideas let me know.
|
316
|
-
|
317
|
-
== Thanks to
|
318
|
-
|
319
|
-
* {HTTParty}[http://github.com/jnunemaker/httparty/tree/master]: Easily one of the best tools I have used since I started using Ruby.
|
320
|
-
* {Jeweler}[http://github.com/technicalpickles/jeweler/tree/master]: Great tool for creating gems for Github.
|
321
|
-
|
322
|
-
=== Copyright (c) 2008 Matt Hooks. See LICENSE for details.
|
data/lib/vimeo/advanced/auth.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
module Vimeo
|
2
|
-
module Advanced
|
3
|
-
class Auth < Vimeo::Advanced::Base
|
4
|
-
|
5
|
-
# Tests the validity of an authorization token.
|
6
|
-
create_api_method :check_token,
|
7
|
-
"vimeo.auth.checkToken",
|
8
|
-
:required => [:auth_token]
|
9
|
-
|
10
|
-
# Obtains a frob.
|
11
|
-
# Used for desktop based authentication.
|
12
|
-
create_api_method :get_frob,
|
13
|
-
"vimeo.auth.getFrob"
|
14
|
-
|
15
|
-
# Obtains an authorization token.
|
16
|
-
create_api_method :get_token,
|
17
|
-
"vimeo.auth.getToken",
|
18
|
-
:required => [:frob]
|
19
|
-
|
20
|
-
end
|
21
|
-
end # Advanced
|
22
|
-
end # Vimeo
|