ikbis 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/LICENSE +20 -0
- data/README +9 -0
- data/README.markdown +97 -0
- data/Rakefile +43 -0
- data/VERSION.yml +4 -0
- data/bin/ikbis-auth +33 -0
- data/lib/ikbis.rb +14 -0
- data/lib/ikbis/advanced.rb +12 -0
- data/lib/ikbis/advanced/base.rb +89 -0
- data/lib/ikbis/advanced/media.rb +264 -0
- data/lib/ikbis/advanced/photo.rb +171 -0
- data/lib/ikbis/advanced/test.rb +50 -0
- data/lib/ikbis/advanced/upload.rb +164 -0
- data/lib/ikbis/advanced/video.rb +172 -0
- data/lib/ikbis/simple.rb +12 -0
- data/lib/ikbis/simple/base.rb +10 -0
- data/lib/ikbis/simple/channel.rb +21 -0
- data/lib/ikbis/simple/photo.rb +25 -0
- data/lib/ikbis/simple/user.rb +49 -0
- data/lib/ikbis/simple/video.rb +25 -0
- data/test/ikbis_test.rb +7 -0
- data/test/test_helper.rb +7 -0
- metadata +109 -0
@@ -0,0 +1,171 @@
|
|
1
|
+
module Ikbis
|
2
|
+
module Advanced
|
3
|
+
class Photo < Ikbis::Advanced::Media
|
4
|
+
#######################################################
|
5
|
+
# Set the class extention string for this class.
|
6
|
+
######################
|
7
|
+
# @Created : Jan/19/2009
|
8
|
+
# @LastRefactor : Jan/19/2009
|
9
|
+
# @Author : Monther Abushaikh <abushaikh@gmail.com>
|
10
|
+
#######################################################
|
11
|
+
def initialize
|
12
|
+
@class_extention = "ikbis.photos"
|
13
|
+
super ### call the media initialize function.
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
#######################################################
|
18
|
+
# getUploadedList
|
19
|
+
# -> This gets a list of photos uploaded by the specified user.
|
20
|
+
# -> If the calling user is logged in, this will return information that calling
|
21
|
+
# -> user has access to (including private photos). If the calling user is not authenticated,
|
22
|
+
# -> this will only return public information, or a permission denied error if none is available.
|
23
|
+
#
|
24
|
+
# Parameters
|
25
|
+
# * string username- ex.(moski_doski)
|
26
|
+
# * options:
|
27
|
+
# * int page - Which page to show.
|
28
|
+
# * int per_page - How many results per page?
|
29
|
+
# * string how - xml or json or php
|
30
|
+
#
|
31
|
+
# ex: getUploadedList('moski_doski' , {:how => 'json'})
|
32
|
+
#
|
33
|
+
# Returns:
|
34
|
+
# -> <photos>
|
35
|
+
# <photo>
|
36
|
+
# <id>142139</id>
|
37
|
+
# <title>In the office</title>
|
38
|
+
# <caption>In the office</caption>
|
39
|
+
# <views>61</views>\n
|
40
|
+
# <category></category>\n
|
41
|
+
# <owner>moski_doski</owner>\n
|
42
|
+
# <comments>0</comments>\n
|
43
|
+
# <rating>0</rating>\n
|
44
|
+
# <thumbnails>\n
|
45
|
+
# <small>http://shots.ikbis.com/image/142139/small/Photo_107.jpg</small>\n
|
46
|
+
# <thumb>http://shots.ikbis.com/image/142139/thumb/Photo_107.jpg</thumb>\n
|
47
|
+
# <medium_crop>http://shots.ikbis.com/image/142139/medium_crop/Photo_107.jpg</medium_crop>\n
|
48
|
+
# <medium>http://shots.ikbis.com/image/142139/medium/Photo_107.jpg</medium>\n
|
49
|
+
# <screen>http://shots.ikbis.com/image/142139/screen/Photo_107.jpg</screen>\n
|
50
|
+
# <big_screen>http://shots.ikbis.com/image/142139/big_screen/Photo_107.jpg</big_screen>\n
|
51
|
+
# <large>http://shots.ikbis.com/image/142139/large/Photo_107.jpg</large>\n
|
52
|
+
# </thumbnails>\n
|
53
|
+
# </photo>
|
54
|
+
# </photos>
|
55
|
+
#
|
56
|
+
# Authentication
|
57
|
+
# -> Authentication is not required.
|
58
|
+
######################
|
59
|
+
# @Created : DEC/31/2008
|
60
|
+
# @LastRefactor : DEC/31/2008
|
61
|
+
# @Author : Moski
|
62
|
+
#######################################################
|
63
|
+
### Auto-generated using method_missing ####
|
64
|
+
|
65
|
+
|
66
|
+
#######################################################
|
67
|
+
# getInfo
|
68
|
+
# -> Get all kinds of information about a photo
|
69
|
+
# -> If the calling user is logged in, this will return information
|
70
|
+
# -> that calling user has access to (including private photos).
|
71
|
+
# -> If the calling user is not authenticated, this will only return
|
72
|
+
# public information, or a permission denied error if none is available.
|
73
|
+
# Parameters
|
74
|
+
# * int media_id (required) - Get information from this id
|
75
|
+
#
|
76
|
+
# ex: getInfo('103678' , {:how => 'json'})
|
77
|
+
#
|
78
|
+
# Returns:
|
79
|
+
# -> <photo>\n <id>103678</id>\n <title>First Album</title>\n <caption>Cool avatars</caption>\n <views>171</views>\n
|
80
|
+
# <category></category>\n <owner>moski_doski</owner>\n <comments>0</comments>\n <rating>0</rating>\n <thumbnails>\n
|
81
|
+
# <small>http://shots.ikbis.com/image/103678/small/Another_ID_by_pyromaniac.png</small>\n
|
82
|
+
# <thumb>http://shots.ikbis.com/image/103678/thumb/Another_ID_by_pyromaniac.png</thumb>\n
|
83
|
+
# <medium_crop>http://shots.ikbis.com/image/103678/medium_crop/Another_ID_by_pyromaniac.png</medium_crop>\n
|
84
|
+
# <medium>http://shots.ikbis.com/image/103678/medium/Another_ID_by_pyromaniac.png</medium>\n
|
85
|
+
# <screen>http://shots.ikbis.com/image/103678/screen/Another_ID_by_pyromaniac.png</screen>\n
|
86
|
+
# <big_screen>http://shots.ikbis.com/image/103678/big_screen/Another_ID_by_pyromaniac.png</big_screen>\n
|
87
|
+
# <large>http://shots.ikbis.com/image/103678/large/Another_ID_by_pyromaniac.png</large>\n </thumbnails>\n</photo>
|
88
|
+
#
|
89
|
+
# Authentication
|
90
|
+
# -> Authentication is not required.
|
91
|
+
######################
|
92
|
+
# @Created : DEC/31/2008
|
93
|
+
# @LastRefactor : DEC/31/2008
|
94
|
+
# @Author : Moski
|
95
|
+
#######################################################
|
96
|
+
### Auto-generated using method_missing ####
|
97
|
+
|
98
|
+
|
99
|
+
#######################################################
|
100
|
+
# getThumbnailUrl
|
101
|
+
# -> Get a thumbnail URL for a given photo/size
|
102
|
+
#
|
103
|
+
# Parameters
|
104
|
+
# * int media_id (required) - Get information from this video
|
105
|
+
# * thumbnail_size:
|
106
|
+
# small "70x70" and crop => "1:1"
|
107
|
+
# thumb "90x90" and crop => "1:1"
|
108
|
+
# medium_crop "144x144" and crop => "1:1"
|
109
|
+
# medium "240x240" and no crop
|
110
|
+
# screen "420x420" and no crop
|
111
|
+
# big_screen "500x500" and no crop
|
112
|
+
# large "800x800" and no crop
|
113
|
+
# all return all sizes
|
114
|
+
# Returns:
|
115
|
+
# -> <thumbnails>
|
116
|
+
# <small>http://shots.ikbis.com/video_thumbnail/110774/small/video.jpg</small>\n
|
117
|
+
# <thumb>http://shots.ikbis.com/video_thumbnail/110774/thumb/video.jpg</thumb>\n
|
118
|
+
# <medium_crop>http://shots.ikbis.com/video_thumbnail/110774/medium_crop/video.jpg</medium_crop>
|
119
|
+
# ..........
|
120
|
+
# </thumbnails>
|
121
|
+
# Authentication
|
122
|
+
# -> Authentication is not required.
|
123
|
+
######################
|
124
|
+
# @Created : DEC/31/2008
|
125
|
+
# @LastRefactor : DEC/31/2008
|
126
|
+
# @Author : Moski
|
127
|
+
######################################################
|
128
|
+
### Auto-generated using method_missing ####
|
129
|
+
|
130
|
+
|
131
|
+
#######################################################
|
132
|
+
# setTitle
|
133
|
+
# -> Set the title of a photo (overwrites previous title)
|
134
|
+
# Parameters
|
135
|
+
# * int media_id (required) - Set the title of this photo.
|
136
|
+
# * string title (required) - The new title. 128 is the max length for this field, any longer and it will be trimmed.
|
137
|
+
#
|
138
|
+
# ex: setTitle(media_id , "My cool new title" ,{:how => 'json'})
|
139
|
+
#
|
140
|
+
# Returns:
|
141
|
+
# -> <rsp>ok</rsp>
|
142
|
+
# Authentication
|
143
|
+
# -> Authentication is required.
|
144
|
+
######################
|
145
|
+
# @Created : DEC/31/2008
|
146
|
+
# @LastRefactor : DEC/31/2008
|
147
|
+
# @Author : Monther Abushaikh <abushaikh@gmail.com>
|
148
|
+
#######################################################
|
149
|
+
### Auto-generated using method_missing ####
|
150
|
+
|
151
|
+
#######################################################
|
152
|
+
# setCaption
|
153
|
+
# -> Set a new caption for a photo (overwrites previous caption)
|
154
|
+
# Parameters
|
155
|
+
# * int media_id (required) - Set the title of this photo.
|
156
|
+
# * string caption (required) - The new caption.
|
157
|
+
# Returns:
|
158
|
+
# -> <rsp>ok</rsp>
|
159
|
+
# Authentication
|
160
|
+
# -> Authentication is required.
|
161
|
+
######################
|
162
|
+
# @Created : DEC/31/2008
|
163
|
+
# @LastRefactor : DEC/31/2008
|
164
|
+
# @Author : Monther Abushaikh <abushaikh@gmail.com>
|
165
|
+
#######################################################
|
166
|
+
### Auto-generated using method_missing ####
|
167
|
+
|
168
|
+
|
169
|
+
end ## end class
|
170
|
+
end ## end Advanced
|
171
|
+
end ## end ikbis
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module Ikbis
|
2
|
+
module Advanced
|
3
|
+
|
4
|
+
class Test < Ikbis::Advanced::Base
|
5
|
+
def echo(options={})
|
6
|
+
options.merge!(:what => "ikbis.test.echo")
|
7
|
+
options.merge!(:how => 'xml') unless options.has_key?(:how)
|
8
|
+
response = @access_token.post('/api/rest' , options)
|
9
|
+
return response.body
|
10
|
+
end ## end test_echo
|
11
|
+
|
12
|
+
#######################################################
|
13
|
+
# ikbis.test.login
|
14
|
+
# -> Is the user logged in?
|
15
|
+
# Returns:
|
16
|
+
# -> <profile>
|
17
|
+
# -> <id>25874</id>
|
18
|
+
# -> <username>moski_doski</username>
|
19
|
+
# -> </profile>
|
20
|
+
# Error Codes:
|
21
|
+
# -> 205: Not Logged in
|
22
|
+
######################
|
23
|
+
# @Created : DEC/31/2007
|
24
|
+
# @LastRefactor : DEC/31/2007
|
25
|
+
# @Author : Monther Abushaikh <abushaikh@gmail.com>
|
26
|
+
#######################################################
|
27
|
+
def login(options = {})
|
28
|
+
options.merge!(:what => "ikbis.test.login")
|
29
|
+
options.merge!(:how => "xml") unless options.has_key?(:how)
|
30
|
+
return send_request(options)
|
31
|
+
end ## end test_login
|
32
|
+
|
33
|
+
#######################################################
|
34
|
+
# ikbis.test.ping
|
35
|
+
# -> This is just a simple ping test...
|
36
|
+
# Returns:
|
37
|
+
# -> <rsp>ok</rsp>
|
38
|
+
######################
|
39
|
+
# @Created : DEC/31/2007
|
40
|
+
# @LastRefactor : DEC/31/2007
|
41
|
+
# @Author : Monther Abushaikh <abushaikh@gmail.com>
|
42
|
+
#######################################################
|
43
|
+
def ping(options = {})
|
44
|
+
options.merge!(:what => "ikbis.test.ping")
|
45
|
+
options.merge!(:how => 'xml') unless options.has_key?(:how)
|
46
|
+
return send_request(options)
|
47
|
+
end ## end test_ping
|
48
|
+
end
|
49
|
+
end ## end Advanced
|
50
|
+
end ## end ikbis
|
@@ -0,0 +1,164 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
require 'net/http'
|
3
|
+
require 'yaml'
|
4
|
+
require 'cgi'
|
5
|
+
require 'net/http/post/multipart'
|
6
|
+
module Ikbis
|
7
|
+
module Advanced
|
8
|
+
class Upload < Ikbis::Advanced::Base
|
9
|
+
|
10
|
+
class CouldNotUpload < Exception; end
|
11
|
+
class CouldNotAuthenticate < CouldNotUpload; end
|
12
|
+
class InvalidUploadFile < CouldNotUpload; end
|
13
|
+
class InvalidMediaType < Exception; end
|
14
|
+
|
15
|
+
#######################################################
|
16
|
+
# Set the class extention string for this class.
|
17
|
+
######################
|
18
|
+
# @Created : Jan/19/2009
|
19
|
+
# @LastRefactor : Jan/19/2009
|
20
|
+
# @Author : Monther Abushaikh <abushaikh@gmail.com>
|
21
|
+
#######################################################
|
22
|
+
def initialize
|
23
|
+
@class_extention = "ikbis.upload"
|
24
|
+
super ### call the media initialize function.
|
25
|
+
end
|
26
|
+
|
27
|
+
#######################################################
|
28
|
+
# Sends a multipart/form POST request to the server
|
29
|
+
# containing all the required fields for uploading media.
|
30
|
+
#
|
31
|
+
# It made no sense for this method to follow its siblings behaviour
|
32
|
+
# by delegating a send request to Ikbis::Advanced::Base module
|
33
|
+
# with the req params, like the other modules are doing since this
|
34
|
+
# request is handled by Net::HTTP and NOT HTTParty.
|
35
|
+
#
|
36
|
+
# The uploaded file is being parsed into a multi-part/form compatible
|
37
|
+
# request object by the gem `multipart-post' by Nick Sieger, cheers
|
38
|
+
# to him for making this an easy task.
|
39
|
+
#
|
40
|
+
# Params:
|
41
|
+
# * string file_path =>
|
42
|
+
# must either be a full path or a relative one to the upload file
|
43
|
+
# * hash options
|
44
|
+
# {
|
45
|
+
# * string :title => media title
|
46
|
+
# * string :caption => media caption, defaults to title if not specified
|
47
|
+
# * string enum :type => !"media"|"image"|"video"
|
48
|
+
# * string :tags => space delimited media tag(s)
|
49
|
+
# * string enum :permission => !"public"|"private"|"shared"
|
50
|
+
# }
|
51
|
+
# `!' implies default value
|
52
|
+
# note: ALL parameters are REQUIRED
|
53
|
+
#
|
54
|
+
# Usage ex:
|
55
|
+
# uploader = Ikbis::Advanced::Uploader.new # must create an object since OAuth is required
|
56
|
+
# uploader.oauth_authentication("ikbis.yml")
|
57
|
+
# uploader.upload(
|
58
|
+
# "http://www.mydomain.com/foo.png",
|
59
|
+
# {
|
60
|
+
# :title => "FooBAR",
|
61
|
+
# :caption => "FooBAR Cap'n",
|
62
|
+
# :tags => "hello world",
|
63
|
+
# :permission => "public"
|
64
|
+
# })
|
65
|
+
######################
|
66
|
+
# @Created : Jan/19/2009
|
67
|
+
# @LastRefactor : Jan/13/2010
|
68
|
+
# @Author : Monther Abushaikh <abushaikh@gmail.com>
|
69
|
+
#######################################################
|
70
|
+
IMAGE = "image"
|
71
|
+
VIDEO = "video"
|
72
|
+
MEDIA = "media"
|
73
|
+
@@image_types = [ "jpg", "jpeg", "png", "svg", "gif", "bmp" ]
|
74
|
+
@@video_types = [ "flv", "wmv", "avi", "mpeg", "3gp", "3g2", "asf", "swf", "mpg", "rm", "3gpp", "mp4", "asp", "mov" ]
|
75
|
+
|
76
|
+
def uploadFile(file_path, options)
|
77
|
+
puts "|------------------------ Uploading ------------------------|"
|
78
|
+
begin
|
79
|
+
# open file for uploading
|
80
|
+
begin
|
81
|
+
file = File.new(file_path)
|
82
|
+
rescue
|
83
|
+
raise InvalidUploadFile
|
84
|
+
end
|
85
|
+
|
86
|
+
url = URI.parse('http://localhost:3000/api/medias')
|
87
|
+
|
88
|
+
puts "| Initiating POST request to `#{url.request_uri}'"
|
89
|
+
req = Net::HTTP::Post.new(url.request_uri)
|
90
|
+
|
91
|
+
puts "| Constructing File object"
|
92
|
+
req = Net::HTTP::Post::Multipart.new url.path,
|
93
|
+
{ "file" => UploadIO.new(file, mime_type(file), file.path),
|
94
|
+
"title" => options[:title],
|
95
|
+
"caption" => options[:caption],
|
96
|
+
"type" => type(file),
|
97
|
+
"tags" => options[:tags],
|
98
|
+
"permission" => options[:permission]
|
99
|
+
}
|
100
|
+
|
101
|
+
puts "| Authenticating..."
|
102
|
+
begin
|
103
|
+
@consumer.sign!(req, @access_token)
|
104
|
+
rescue
|
105
|
+
raise CouldNotAuthenticate
|
106
|
+
end
|
107
|
+
|
108
|
+
puts "| Initiating connection with `#{url.host}:#{url.port}'"
|
109
|
+
res = ""
|
110
|
+
|
111
|
+
Net::HTTP.new(url.host, url.port).start do |http|
|
112
|
+
print "| Processing request..."
|
113
|
+
res = http.request(req)
|
114
|
+
print " done!\n"
|
115
|
+
end
|
116
|
+
|
117
|
+
puts "| Upload request sent successfully:"
|
118
|
+
puts "| Request URI -> #{url.request_uri}"
|
119
|
+
puts "| Response -> #{res}"
|
120
|
+
|
121
|
+
rescue InvalidMediaType
|
122
|
+
print "| File format not supported. Supported types: "
|
123
|
+
print "\n| Images => "
|
124
|
+
print @@image_types.join(", ")
|
125
|
+
print "\n| Videos => "
|
126
|
+
print @@video_types.join(", ")
|
127
|
+
print "\n"
|
128
|
+
rescue CouldNotAuthenticate
|
129
|
+
puts "| Error while authenticating, have you run oauth_authenticate() ?"
|
130
|
+
rescue InvalidUploadFile
|
131
|
+
puts "| An error occured processing the file you input, please make sure the file is valid."
|
132
|
+
rescue
|
133
|
+
puts "| Upload failed with `#{$!}'\n"
|
134
|
+
raise CouldNotUpload
|
135
|
+
end
|
136
|
+
|
137
|
+
puts "|------------------------ --------- ------------------------|"
|
138
|
+
|
139
|
+
end
|
140
|
+
|
141
|
+
private
|
142
|
+
|
143
|
+
# quick and dirty method for determining mime type of uploaded file
|
144
|
+
def mime_type(file)
|
145
|
+
case
|
146
|
+
when file =~ /\.jpg/ then 'image/jpg'
|
147
|
+
when file =~ /\.gif$/ then 'image/gif'
|
148
|
+
when file =~ /\.png$/ then 'image/png'
|
149
|
+
else 'application/octet-stream'
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
def type(file)
|
154
|
+
ext = File.extname(file.path).gsub(".", "")
|
155
|
+
|
156
|
+
return IMAGE if @@image_types.include?(ext)
|
157
|
+
return VIDEO if @@video_types.include?(ext)
|
158
|
+
|
159
|
+
raise InvalidMediaType
|
160
|
+
end
|
161
|
+
|
162
|
+
end ## end class
|
163
|
+
end ## end Advanced
|
164
|
+
end ## end ikbis
|
@@ -0,0 +1,172 @@
|
|
1
|
+
module Ikbis
|
2
|
+
module Advanced
|
3
|
+
class Video < Ikbis::Advanced::Media
|
4
|
+
|
5
|
+
#######################################################
|
6
|
+
# Set the class extention string for this class.
|
7
|
+
######################
|
8
|
+
# @Created : Jan/19/2009
|
9
|
+
# @LastRefactor : Jan/19/2009
|
10
|
+
# @Author : Moski
|
11
|
+
#######################################################
|
12
|
+
def initialize
|
13
|
+
@class_extention = "ikbis.videos"
|
14
|
+
super ### call the media initialize function.
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
#######################################################
|
19
|
+
# getUploadedList
|
20
|
+
# -> This gets a list of videos uploaded by the specified user.
|
21
|
+
# -> If the calling user is logged in, this will return information that calling
|
22
|
+
# -> user has access to (including private videos). If the calling user is not authenticated,
|
23
|
+
# -> this will only return public information, or a permission denied error if none is available.
|
24
|
+
#
|
25
|
+
# Parameters
|
26
|
+
# * string username- ex.(moski_doski)
|
27
|
+
# * options:
|
28
|
+
# * int page - Which page to show.
|
29
|
+
# * int per_page - How many results per page?
|
30
|
+
# * string how - xml or json or php
|
31
|
+
#
|
32
|
+
# ex: getUploadedList('moski_doski' , {:how => 'json'})
|
33
|
+
#
|
34
|
+
# Returns:
|
35
|
+
# -> <videos>
|
36
|
+
# <video>
|
37
|
+
# <id>106502</id> <title>كيف توكل منسف اردني</title> <caption>كيف توكل منسف اردني </caption> <views>319</views>
|
38
|
+
# <thumbnails>
|
39
|
+
# <small>http://shots.ikbis.com/video_thumbnail/106502/small/video.jpg</small>
|
40
|
+
# <thumb> http://shots.ikbis.com/video_thumbnail/106502/thumb/video.jpg </thumb>
|
41
|
+
# <medium_crop>http://shots.ikbis.com/video_thumbnail/106502/medium_crop/video.jpg</medium_crop>
|
42
|
+
# <medium>http://shots.ikbis.com/video_thumbnail/106502/medium/video.jpg</medium>
|
43
|
+
# <screen>http://shots.ikbis.com/video_thumbnail/106502/screen/video.jpg</screen>
|
44
|
+
# </thumbnails>
|
45
|
+
# </video>
|
46
|
+
# </videos>
|
47
|
+
#
|
48
|
+
# Authentication
|
49
|
+
# -> Authentication is not required.
|
50
|
+
######################
|
51
|
+
# @Created : Jan/19/2009
|
52
|
+
# @LastRefactor : Jan/19/2009
|
53
|
+
# @Author : Moski
|
54
|
+
#######################################################
|
55
|
+
### Auto-generated using method_missing ####
|
56
|
+
|
57
|
+
|
58
|
+
#######################################################
|
59
|
+
# getInfo
|
60
|
+
# -> Get all kinds of information about a video
|
61
|
+
# -> If the calling user is logged in, this will return information
|
62
|
+
# -> that calling user has access to (including private videos).
|
63
|
+
# -> If the calling user is not authenticated, this will only return
|
64
|
+
# public information, or a permission denied error if none is available.
|
65
|
+
# Parameters
|
66
|
+
# * int media_id (required) - Get information from this video
|
67
|
+
#
|
68
|
+
# ex: getInfo('moski_doski' , {:how => 'json'})
|
69
|
+
#
|
70
|
+
# Returns:
|
71
|
+
# -> <video>
|
72
|
+
# <id>110774</id>
|
73
|
+
# <title> the reason</title>
|
74
|
+
# <caption>\r\nthe reason\r\n</caption>
|
75
|
+
# <views>136</views>
|
76
|
+
# <category></category>
|
77
|
+
# <owner>moski_doski</owner>
|
78
|
+
# <comments>0</comments>
|
79
|
+
# <rating>0</rating>
|
80
|
+
# <thumbnails>
|
81
|
+
# <small>http://shots.ikbis.com/video_thumbnail/110774/small/video.jpg</small>\n
|
82
|
+
# <thumb>http://shots.ikbis.com/video_thumbnail/110774/thumb/video.jpg</thumb>\n
|
83
|
+
# <medium_crop>http://shots.ikbis.com/video_thumbnail/110774/medium_crop/video.jpg</medium_crop>
|
84
|
+
# ..........
|
85
|
+
# </thumbnails>
|
86
|
+
# </video>
|
87
|
+
#
|
88
|
+
# Authentication
|
89
|
+
# -> Authentication is not required.
|
90
|
+
######################
|
91
|
+
# @Created : Jan/19/2009
|
92
|
+
# @LastRefactor : Jan/19/2009
|
93
|
+
# @Author : Moski
|
94
|
+
#######################################################
|
95
|
+
### Auto-generated using method_missing ####
|
96
|
+
|
97
|
+
|
98
|
+
#######################################################
|
99
|
+
# getThumbnailUrl(media_id)
|
100
|
+
# -> Get a thumbnail URL for a given video/size
|
101
|
+
# ->
|
102
|
+
# Parameters
|
103
|
+
# * int media_id (required) - Get information from this video
|
104
|
+
# * thumbnail_size:
|
105
|
+
# small "70x70" and crop => "1:1"
|
106
|
+
# thumb "90x90" and crop => "1:1"
|
107
|
+
# medium_crop "144x144" and crop => "1:1"
|
108
|
+
# medium "240x240" and no crop
|
109
|
+
# screen "420x420" and no crop
|
110
|
+
# all return all sizes
|
111
|
+
#
|
112
|
+
# ex: getThumbnailUrl(media_id , {:how => 'json'})
|
113
|
+
#
|
114
|
+
# Returns:
|
115
|
+
# -> <thumbnails>
|
116
|
+
# <small>http://shots.ikbis.com/video_thumbnail/110774/small/video.jpg</small>\n
|
117
|
+
# <thumb>http://shots.ikbis.com/video_thumbnail/110774/thumb/video.jpg</thumb>\n
|
118
|
+
# <medium_crop>http://shots.ikbis.com/video_thumbnail/110774/medium_crop/video.jpg</medium_crop>
|
119
|
+
# ..........
|
120
|
+
# </thumbnails>
|
121
|
+
# Authentication
|
122
|
+
# -> Authentication is not required.
|
123
|
+
######################
|
124
|
+
# @Created : Jan/19/2009
|
125
|
+
# @LastRefactor : Jan/19/2009
|
126
|
+
# @Author : Moski
|
127
|
+
#######################################################
|
128
|
+
### Auto-generated using method_missing ####
|
129
|
+
|
130
|
+
|
131
|
+
#######################################################
|
132
|
+
# setTitle
|
133
|
+
# -> Set the title of a video (overwrites previous title)
|
134
|
+
# Parameters
|
135
|
+
# * int media_id (required) - Set the title of this video.
|
136
|
+
# * string title (required) - The new title. 128 is the max length for this field, any longer and it will be trimmed.
|
137
|
+
#
|
138
|
+
# ex: getThumbnailUrl(media_id , {:how => 'json'})
|
139
|
+
#
|
140
|
+
# Returns:
|
141
|
+
# -> <rsp>ok</rsp>
|
142
|
+
# Authentication
|
143
|
+
# -> Authentication is required.
|
144
|
+
######################
|
145
|
+
# @Created : DEC/31/2007
|
146
|
+
# @LastRefactor : DEC/31/2007
|
147
|
+
# @Author : Moski
|
148
|
+
#######################################################
|
149
|
+
### Auto-generated using method_missing ####
|
150
|
+
|
151
|
+
#######################################################
|
152
|
+
# setCaption
|
153
|
+
# -> Set a new caption for a video (overwrites previous caption)
|
154
|
+
# Parameters
|
155
|
+
# * int media_id (required) - Set the title of this video.
|
156
|
+
# * string caption (required) - The new caption.
|
157
|
+
# Returns:
|
158
|
+
# -> <rsp>ok</rsp>
|
159
|
+
# Authentication
|
160
|
+
# -> Authentication is required.
|
161
|
+
######################
|
162
|
+
# @Created : Jan/19/2009
|
163
|
+
# @LastRefactor : Jan/19/2009
|
164
|
+
# @Author : Moski
|
165
|
+
#######################################################
|
166
|
+
### Auto-generated using method_missing ####
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
end ## end video
|
171
|
+
end ## end Advanced
|
172
|
+
end ## end ikbis
|