Я потратил несколько часов, пытаясь выяснить, как получить все учетные данные, необходимые для обновления моих собственных видео на Vimeo, используя vimeo gem .Я понимаю, что должен вручную авторизовать собственное приложение для своей учетной записи.Я следовал инструкциям в readme :
base = Vimeo::Advanced::Base.new(App.vimeo[:consumer_key], App.vimeo[:consumer_secret])
request_token = base.get_request_token
Затем я захожу на base.authorize_url
и вижу Allow "App" to access your Vimeo account?
.Я нажимаю «Разрешить» и вижу код, который выглядит как unicorn-weipo
.Я предполагаю, что это oauth_verifier
.Vimeo не отправляет мне URL, указанный в настройках приложения.Также я не вижу ничего на этой странице, что говорит мне, что мой oauth_token
.Итак, я думаю, что мой oauth_token
- это request_token
token
.Я пытаюсь это сделать:
base = Vimeo::Advanced::Base.new(App.vimeo[:consumer_key], App.vimeo[:consumer_secret])
access_token = base.get_access_token(request_token.token, request_token.secret, 'unicorn-weipo')
Пока все хорошо.Итак, давайте сохраним токен и секрет access_token
:
user_token = access_token.token
user_secret = access_token.secret
Давайте сначала сделаем что-нибудь простое и перечислим все видео (кстати, в readme написано get_videos
, но, похоже, get_all
сейчас):
video = Vimeo::Advanced::Video.new(App.vimeo[:consumer_key], App.vimeo[:consumer_secret], :token => user_token, :secret => user_secret)
video.get_all('user10513902')
Ответ выглядит хорошо:
{"generated_in"=>"0.0227", "stat"=>"ok", "videos"=>{"on_this_page"=>"0", "page"=>"1", "perpage"=>"50", "total"=>"0", "video"=>[]}}
Теперь я хочу загрузить что-то:
upload = Vimeo::Advanced::Upload.new(App.vimeo[:consumer_key], App[:consumer_secret], :token => user_token, :secret => user_secret)
f = File.open(File.join(Rails.root, 'spec', 'fixtures', 'sample.avi'))
upload.upload(f)
Но тогда я вижу это:
Vimeo::Advanced::RequestFailed: 303: Invalid signature, explanation: The oauth_signature passed was not valid
Как это исправить?Я хочу иметь возможность загружать видео.
Спасибо!